我有一个Linux内核的git repo。我用标准的git克隆做了。让我们称之为repo'服务器'。我也有'计算机',它做了服务器的克隆。我在'计算机a'上开发了很长时间,然后推回到'服务器',但总是在一个单独的分支。一段时间后我想更新服务器,所以我在'计算机'上运行了以下内容
git checkout master
git pull git://linus/kernel.git
git push origin master #here origin is 'server'
所以现在我的服务器的主分支可能在主服务器中有更改,而不是来自主内核存储库。我怎样才能找到它们?换句话说,如何验证服务器/主服务器中的整个历史记录是否与Linus的主分支相同?
感谢
答案 0 :(得分:1)
Git可以轻松验证两个分支的整个历史记录是相同的:
如果哈希值不同,git cherry命令可以帮助识别不在上游分支中的提交。
另一个提示是使用git pull --ff-only
如果你从上游分支拉出来并想确保与本地工作的合并不完成。使用--ff-only
后,SHA1提交ID将匹配,否则整个命令将失败。