我想创建一个工具,在克隆特定仓库之前检查本地是否已经有了该远程仓库的本地副本。为此,我需要一种测试B和仓库A是否相同的方法——我指的是它们具有可合并的历史记录。B可能与A命名不同,并且可能有附加分支——通常的用例。
有没有办法做到这一点?我有一个初步的想法,但我想也许在这里有人有确定的答案。
初步想法:获取分支列表并搜索公共分支(按哈希值)。然后对于共同的分支,检查初始提交是否相同(按哈希值)。那时我会说“够好了”。我认为除非有人搞乱了历史记录,否则我没问题,而这个用例我愿意忽略。要做到这一点,我需要一种从远程仓库获取分支和提交信息而不进行克隆的方法。我可以使用ssh和bash解决这个问题,但仅使用git的解决方案更可取。
对半成品想法的反馈也受欢迎。
这不是Git repository unique id的重复原因:
所引用的问题正在寻找唯一的存储库标识符或创建方式。这种方法不存在,即使存在,它也值得怀疑是否适用于此处我想确定两个存储库是否具有可合并的历史记录(即我可以在两者之间获取和合并)。这是一个略微更好定义的问题。我愿意忽略用户修改历史记录的可能性,但很愿意听到如何处理这种情况。
有没有办法做到这一点?我有一个初步的想法,但我想也许在这里有人有确定的答案。
初步想法:获取分支列表并搜索公共分支(按哈希值)。然后对于共同的分支,检查初始提交是否相同(按哈希值)。那时我会说“够好了”。我认为除非有人搞乱了历史记录,否则我没问题,而这个用例我愿意忽略。要做到这一点,我需要一种从远程仓库获取分支和提交信息而不进行克隆的方法。我可以使用ssh和bash解决这个问题,但仅使用git的解决方案更可取。
对半成品想法的反馈也受欢迎。
这不是Git repository unique id的重复原因:
所引用的问题正在寻找唯一的存储库标识符或创建方式。这种方法不存在,即使存在,它也值得怀疑是否适用于此处我想确定两个存储库是否具有可合并的历史记录(即我可以在两者之间获取和合并)。这是一个略微更好定义的问题。我愿意忽略用户修改历史记录的可能性,但很愿意听到如何处理这种情况。