我想使用Java中的Git Api(Egit和JGit)与远程Git存储库(在GitHub)同步更改。我怎样才能做到这一点?这可以通过知道两个修订版之间的HEAD ID或其他方式来实现吗?
答案 0 :(得分:2)
只知道两个存储库中每个存储库的HEAD
就足以告诉您它们是否不同步但是不足以告诉您哪一个存在于另一个之前。在一般情况下,不止一个人可以推送到存储库,因此假设您的本地存储库始终位于远程控制器之前是不明智的。您必须使用API来查找第一个常见的SHA,并使用它确定如何处理同步您的存储库。你将不得不处理三个(更多)案例:
前两个案例是微不足道的,第三个案件要复杂得多。在将本地更改与远程同步之前,您将始终必须先进行拉动,并且拉动可能会导致合并冲突。如果你不小心,你可以通过在发生冲突时强制提交来破解一些代码。
如果不了解您打算做什么或确切用例是什么,我不能给你更多的帮助。我希望这就够了。 : - )