Git - 忽略单个提交
Git - ignoring a single commit
我有一个包含大量代码的分支 A,为了便于合并它,我不得不删除一个大功能 - 即,我创建了一个删除我创建的一些新文件的提交。从而创建分支 B。B 被合并到 develop,并且 develop 分支堆积了更多的变化。
现在我想重新访问分支 A 并将 develop 合并到其中。刮掉是在一次提交中。所以我想
git fetch origin develop
并合并除某个提交之外的所有提交(我合并了删除提交之前的所有提交,但我还想合并删除提交之后的所有提交[没有预期的冲突])。
总结一下:
B = A + (deleting commit)
develop = B + commit1 + commit2 + ... + commit[n]
我要创建:
A' = develop - deleting commit
有没有办法创建一个否定提交并可能隐藏它?那我可以git pull origin develop & git stash pop
.
我该怎么做?
假设您的本地 git 存储库中有分支 A
、B
和 develop
。为了让 develop
包含除大规模删除提交之外的所有提交,请执行以下操作:
git checkout develop
git rebase -i A
然后您将看到一个屏幕,其中列出了自分支 A
开始以来的所有提交。把不需要的commit那一行删掉,然后保存文件(一般界面在vi
,所以输入:wq
会保存退出,查看vi
文档更多细节)。完成后,develop
分支现在将拥有除大删除之外的所有提交。不过别担心,因为 B
仍然会有删除提交,如果需要,您可以随时通过检查分支 B
返回它。
警告:由于执行这些操作,您可能会遇到一些冲突或其他冲突。此外,也不能保证您的代码会真正起作用; git 是一个文本工具,而不是 "code" 工具本身。
我有一个包含大量代码的分支 A,为了便于合并它,我不得不删除一个大功能 - 即,我创建了一个删除我创建的一些新文件的提交。从而创建分支 B。B 被合并到 develop,并且 develop 分支堆积了更多的变化。
现在我想重新访问分支 A 并将 develop 合并到其中。刮掉是在一次提交中。所以我想
git fetch origin develop
并合并除某个提交之外的所有提交(我合并了删除提交之前的所有提交,但我还想合并删除提交之后的所有提交[没有预期的冲突])。
总结一下:
B = A + (deleting commit)
develop = B + commit1 + commit2 + ... + commit[n]
我要创建:
A' = develop - deleting commit
有没有办法创建一个否定提交并可能隐藏它?那我可以git pull origin develop & git stash pop
.
我该怎么做?
假设您的本地 git 存储库中有分支 A
、B
和 develop
。为了让 develop
包含除大规模删除提交之外的所有提交,请执行以下操作:
git checkout develop
git rebase -i A
然后您将看到一个屏幕,其中列出了自分支 A
开始以来的所有提交。把不需要的commit那一行删掉,然后保存文件(一般界面在vi
,所以输入:wq
会保存退出,查看vi
文档更多细节)。完成后,develop
分支现在将拥有除大删除之外的所有提交。不过别担心,因为 B
仍然会有删除提交,如果需要,您可以随时通过检查分支 B
返回它。
警告:由于执行这些操作,您可能会遇到一些冲突或其他冲突。此外,也不能保证您的代码会真正起作用; git 是一个文本工具,而不是 "code" 工具本身。