gpt4 book ai didi

git - 如何挑选文件的特定提交?

转载 作者:太空狗 更新时间:2023-10-29 14:45:06 24 4
gpt4 key购买 nike

我有 2 个分支:FeatureBranchReleaseBranch

我确实从 FeatureBranchReleaseBranch 中挑选了一个提交 c1 的文件。后来我对 FeatureBranch 上的同一个文件做了一些修改并提交了 id c2

我再次增强了 FeatureBranch 上的同一个文件并提交了 id c3

现在我不想让 c2ReleaseBranch 上,我只需要 c3。我尝试直接使用 c3 id 进行 cherry-pick,但 Git 返回错误:

could not apply c3...

我知道 Git 中的索引是增量的,因为我不希望 c2 发生变化,我只需要 c3。有什么办法可以实现吗?

最佳答案

首先:您要维护代码的两个不同版本,一个在 FeatureBranch 上,一个在 ReleaseBranch 上。您开始看到代码的两个“实时”版本的负面影响。
我不知道您的限制是什么,但“将功能集成到发布中,或放弃功能”应该成为您近期计划中的优先里程碑。


您在该文件上遇到了冲突。 git 无法以直接的方式应用 c3,因为 c2 引入了一些更改,将补丁 c2 -> c3 变成了无法应用的东西发布

您必须手动编辑冲突以修复它,然后提交结果。

如果 c2 中的更改很容易丢弃,另一种方法是丢弃当前的 cherry-pick,获取文件的完整内容,并编辑它以删除不需要的更改想要在 Release 上提交:

# -- from ReleaseBranch

# cancel the cherry-picking :
git cherry-pick --abort

# get the content of the file stored in c3 (will contain modifs from c1+c2+c3) :
git checkout c3 -- path/to/file

# edit the file to remove unwanted code ...

# add and commit
git add path/to/file
git commit

关于git - 如何挑选文件的特定提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986219/

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