gpt4 book ai didi

git - 如何仅选择一个文件而不是整个提交的更改

转载 作者:IT王子 更新时间:2023-10-29 01:25:22 26 4
gpt4 key购买 nike

我需要将在一个分支中引入的更改应用到另一个分支。我可以使用 cherry pick 来做到这一点。但是,就我而言,我想应用仅与一个文件相关的更改,我不需要挑选整个提交。如何做到这一点?

最佳答案

根据您想要实现的目标,您有不同的选择:

如果希望文件内容与目标分支上的内容相同,可以使用git checkout <branch> -- <filename> .然而,这不会“挑选”单个提交中发生的更改,而只会获取所述文件的结果状态。因此,如果您在提交中添加了一行,但之前的提交更改更多,并且您只想添加该行而没有其他更改,那么 checkout 不是您想要的。

否则,如果您只想将提交中引入的补丁应用于单个文件,则有多种选择。你可以运行 git cherry-pick -n ,即不提交,编辑提交(例如使用 git reset -- . 重置所有文件,并仅添加您实际想要使用 git add <filename> 更改的文件)。或者您可以为文件创建差异,然后应用差异:

git diff <branch>^..<branch> -- <filename> | git apply

关于git - 如何仅选择一个文件而不是整个提交的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16068186/

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