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