gpt4 book ai didi

来自同一分支的 git cherry pick

转载 作者:行者123 更新时间:2023-12-05 09:13:05 28 4
gpt4 key购买 nike

我在大学里使用 git 大约几年了,老实说,我仍然不知道自己在做什么。

我不确定我的标题是否恰本地描述了我遇到的问题,但基本上,在开发特定功能时,我已经向 master 分支提交了一堆。现在我已完成开发此功能,事后看来,这是一个糟糕的想法,因为我现在只需要提交和部署最后几次提交

由于那些早期的提交仍在审查和等待批准,我不能把所有东西都 pull 到我的开发服务器上。我在尝试解决这个问题时偶然发现了 git cherry-pick,但显然这用于从不同的分支中提取特定的提交...我认为...

我的问题是,现在我处于这种绑定(bind)状态,有没有一种方法可以只从 master 分支 pull 下最后 2 或 3 次提交,而不获取我不想包含的所有更改?我已经阅读了一些关于 SO 的其他帖子,但是我不确定我是否理解关于 cherry-pick 的答案足以尝试这些,或者这在这种情况下是否合适。

最佳答案

听起来你有一个分支,其中包含你不想要的提交,后来又提交了你所做的但你不想破坏该分支:

master branch
A - B - C - D - E - F - G -H - I - J - K
\ / \ /
Unwanted commits Good commits

你需要一个新分支。

git switch -c new-branch

并且您需要将其重置为您不想要的工作之前。

git reset --hard <hash-of-commit-C> 

现在您可以从 master 中挑选您想要的提交。

git cherry-pick <hash-of-commit-J> <hash-of-commit-K>

或者,选择一系列提交

git cherry-pick <hash-of-commit-J>..<hash-of-commit-K>

如果你喜欢这个结果,你可以用这个替换你的分支

git branch -f master # set master where I am right now
git switch master

大功告成。

关于来自同一分支的 git cherry pick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56741104/

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