5

我正在编写一个外部 Git 插件。如果提交包含一些文本,它应该在 Git 中处理提交并在另一个系统中创建一些实体。请注意,我想搜索整个存储库,而不是某个分支。此外,我的插件中有存储空间,因此我可以存储一些修订版 SHA

我在本地克隆 Git 存储库并定期获取它。在获取期间,我想发现自上次同步以来添加了哪些新提交。有什么简单的方法可以做到这一点?

一种解决方案是创建本地分支,并在 fetch 之后发现本地分支和原始分支之间的差异。但是如果远程分支强制更新怎么办?在这种情况下,差异可能很大,并且相同的提交可以处理两次。另外,如果我将使用本地分支解决方案,并且在远程服务器上添加了新分支,我绝对不想处理新分支中的所有提交,只处理唯一的提交。

Git 'fetch' 命令绝对可以做到这一点。所以我希望有一些简单的方法。

4

1 回答 1

1
  • 如果你只有一个克隆,你可以添加一个git 注释来记住你刚刚获取的 HEAD SHA1
  • 如果你可以有两个克隆:
    • 你先取
    • 您将获取的内容与第二个克隆的回购进行比较
    • 一旦你比较了日志,你就推送到第二个 repo(它作为保持你上次推送状态的纪念品)
于 2013-09-12T09:45:54.820 回答