微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

提交哈希与本地和远程哈希不同

如何解决提交哈希与本地和远程哈希不同

| 我看到我的git-fu无法完全解释的某些行为。 本地分支的最后一次提交永远不会出现在它正在跟踪的远程分支上。在本地没有做出任何承诺,并且正在做: $ git diff分支名称origin / branch-name 空了
git pull
还表示我的分支机构已更新。 看来git pull已经生成一个伪造的提交(合并提交),但是我不太清楚为什么。 这一点特别重要,因为一旦git pull完成,我们需要我们的应用服务器具有相同的提交哈希。 有什么明显的我想念的地方吗?是否有任何其他信息可以帮助您确定问题所在? 谢谢     

解决方法

发生的是您正在使用
git pull
,它隐式地执行
git fetch && git merge origin/master
(假设您在master分支上)。空提交实际上并不为空。如果您有冲突,则必须解决它们,然后添加文件并提交。现在差异将显示您的冲突解决方案。如果合并没有冲突,例如,当您在gitk中查看差异时,差异不会显示任何内容。 为避免这种情况,请显式执行“ 3”,然后使用远程分支(例如origin / master)合并或更改您的更改。 您可以用
git pull --rebase
进行拉底。如果需要,还可以通过更改配置使它成为拉取的默认行为。 希望这可以帮助。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。