gpt4 book ai didi

Git:将一些最后的提交移动到一个新分支,然后为它们创建一个补丁

转载 作者:太空狗 更新时间:2023-10-29 14:15:59 26 4
gpt4 key购买 nike

我已经做了一些提交,现在我希望它们(比如来自分支中的一些提交)将它们移动到一个新的分支中,即:

 master - O1-O2-O3-X-C1-C2-C3 

成为

master - O1-O2-O3-X  
\ new_branch - C1-C2-C3

之后,我需要为提到的提交(C1、C2、C3)打补丁,以便我的一个 friend 能够将它们应用到他们的树上。

关于第一部分,我想我应该做类似的事情:

  1. 为 x -> C3 创建补丁
  2. 重置为 X
  3. 创建分支
  4. 应用补丁

虽然here他们建议我可以使用 git branch new_branch; git reset --hard X; git checkout new_branchreset --hard 不会删除我的提交吗?

我不太擅长 git,无法在没有指导的情况下完成所有工作。谢谢!

最佳答案

没有 reset --hard 不会删除您的提交,因为它们仍会被“new_branch”分支引用。
(这意味着,通过 check out “new_branch”,您将恢复并再次看到这些提交)

但它会删除工作树中任何未跟踪的更改,因此请确保在键入该命令之前没有任何正在进行的工作。

您可以在“What will git checkout master + git reset --hard do?”中看到该命令序列的更详细说明。


完成Stuart Golodetz的评论,如果 git reset 删除或删除任何提交,您仍然可以使用 git reflog 获取这些提交。
见:

关于Git:将一些最后的提交移动到一个新分支,然后为它们创建一个补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7596255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com