问题描述
我从GitHub浅克隆了一个git repo,并将其移至隔离的私有gitlab服务器。为了将浅表克隆推到新的仓库,我不得不丢失提交ID和标签(我使用了这个答案:link)。
现在,我想在外部创建git补丁,并将其移至私有gitlab服务器,以保持私有项目的更新。但是我知道git补丁依赖于持久的提交SHA来工作-并且两个项目中的提交SHA并不匹配。
我有办法创建可用的补丁程序吗?
解决方法
但是我知道git补丁依赖于持久的提交SHA来起作用
是的,如果您正在使用git am
来应用git format-patch
生成的补丁(作为seen here)
git format-patch <first-commit-hash>^..<end-commit-hash>
但是,如果您使用的是git apply
,则应该能够将这些路径应用于当前工作目录,而无需检查正确的SHA1。
请参阅“ What is the difference between git am
and git apply
?”。