我想使用git
将开发分支提交中的更改合并到另一个分支。我尝试了git cherry-pick
,但它会导致整个文件发生变化,而不是具体的变化。任何人都可以帮忙吗?
答案 0 :(得分:0)
要记住的一件事是,提交是决定已经合并""已经合并的最小单位"。因此,我们需要权衡利弊,因为如果您不创建合并关系,您可能会发生虚假的合并冲突,但如果您做创建合并关系只有一次更改的分支之间,它可能会导致未来的合并无法获得其他更改。
在99%的情况下,没有创建合并关系在这里是较小的邪恶,所以我说你在--no-commit
的正确轨道上。
下一步是仅您想要的更改。最简单的方法是使用-n
(或git cherry-pick -n <commit-id>
)选项:
git reset HEAD -- path/to/other/file
git checkout -- path/to/other/file
然后,目标提交的更改将暂存,但不会提交。您可以使用
删除对其他文件的更改git reset HEAD -- path/to/file
git add -i path/to/file
如果您想要的更改与其他更改位于同一文件中,您可以取消暂存该文件,然后在&#34; interactive&#34;中重新播放该文件。模式
import { BackHandler } from "react-native";
(有关&#34;交互式添加&#34;界面的详细信息,请参阅https://git-scm.com/docs/git-add。它有多种方法可以选择要包含的更改。
完成选择性转移后,您可以提交,然后清除工作树中任何剩余的不需要的更改。