Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 吉特:“;更新被拒绝,因为您当前分支的提示已过期..”;但如何看待差异?_Git - Fatal编程技术网

Git 吉特:“;更新被拒绝,因为您当前分支的提示已过期..”;但如何看待差异?

Git 吉特:“;更新被拒绝,因为您当前分支的提示已过期..”;但如何看待差异?,git,Git,我刚刚完成了一段代码。想要推动并获得已经著名的: 提示:更新被拒绝,因为您当前分支的提示无效 背后的提示:它的远程对应。集成远程更改 (例如提示:“git pull…”)然后再推 现在我已经看到这个问题在这里贴了好几次了,例如 根据具体情况,解决方案是 git pull,因此远程更改会合并到我的本地工作中,或者 git push-f,用于更新远程(原始)分支的强制推送 现在,我已经有一段时间没有在这个部门工作了。我不一定要将远程更改合并到我当前的工作中!我也不知道是否可以安全地强制对源分

我刚刚完成了一段代码。想要推动并获得已经著名的:

提示:更新被拒绝,因为您当前分支的提示无效 背后的提示:它的远程对应。集成远程更改 (例如提示:“git pull…”)然后再推

现在我已经看到这个问题在这里贴了好几次了,例如

根据具体情况,解决方案是

  • git pull
    ,因此远程更改会合并到我的本地工作中,或者
  • git push-f
    ,用于更新远程(原始)分支的强制推送
现在,我已经有一段时间没有在这个部门工作了。我不一定要将远程更改合并到我当前的工作中!我也不知道是否可以安全地强制对源分支进行更新


我如何才能看到差异并决定哪一个最适合我的情况?

要查看差异,首先需要从源存储库获取提交:

git获取来源

现在您可以看到差异(假设您在主分支上)
git diff HEAD..origin/master


现在,您已经掌握了所需的知识,可以在推送更改之前决定
合并
重设基础

如果您打算放弃您的本地更改您应该运行
git reset--hard@{u}
。请再次注意,这是对某些数据的不可逆操作,因此请确保在运行它之前。以下是方法:

要查看当前有哪些本地提交,可以使用
git log HEAD--not--remotes
,与任何远程分支进行比较,或者使用
git log@{u}..HEAD
查看特定于跟踪分支的差异

要查看您在本地提交的实际差异,请运行
git diff@{u}…
。这将忽略远程进度,并仅显示您的更改

要查看未提交的更改,请运行
git diff HEAD


PS:您应该首先运行
git fetch origin
git remote update
来更新跟踪引用。

最近我用
git checkout-b功能/abc
创建了一个新分支,并提交了一些更改,然后尝试
git push——设置上游原点功能/abc
it以创建一个pull请求以供查看。发生错误的原因是,当我认为在本地定义分支时,远程分支已经存在。删除远程分支解决了问题,我的推送成功。

如果要将更改引入远程分支,可能无法避免摩擦。最好的做法是使用远程更改更新本地分支。现在,您可以试着合并为一个试运行,看看冲突可能有多严重。
git push-f
放弃其他人对远程存储库所做的所有操作,除非您可能不想要它。两点将远程和本地分支所做的操作的差异混合在一起。在这种情况下,最好使用查看特定于本地或远程端的更改。非常奇怪。我也这么做了,没有区别如果没有区别,您可以选择将分支指针移动到origin/master,风格为
git reset
如何删除远程分支?我们使用的是BitBucket,因此BitBucket UI显示了远程分支,而我刚刚从那里删除了。git CLI还应该提供一种删除远程分支的方法。。。我只是不这样做。谁知道为什么git告诉我我不能做
git push
,并建议我做
git push——设置上游源mybranch
,当你说得对的时候,github上已经有一个分支了。谢谢,它修好了@Bluz我只是去了github,点击了“分支”,点击了同一分支旁边的垃圾箱图标。这也是我的问题所在。这个答案值得更多的投票。