在我希望从分支B到分支A的cherry-pick
的一个提交中,有四个文件发生了变化,但我只希望该提交中的一个文件位于分支A上。我在分支A上获得该文件?谢谢!
答案 0 :(得分:2)
这有点麻烦,但这有效:
如果您有更多文件,则不想提交您要提交的文件:
git checkout BranchA
git cherry-pick <sha1>
git reset HEAD^
git add <file>
git commit
git reset --hard
如果您要提交更多文件,请执行以下操作:
git checkout BranchA
git cherry-pick --no-commit <sha1>
git reset HEAD <file>
git commit
答案 1 :(得分:1)
一个选项是git show -p COMMIT_HASH:path/to/file > path/to/file
来获取已更改的文件,然后添加并提交。
答案 2 :(得分:0)
cherry-pick,还原你想要的所有文件,提交修改:
git cherry-pick BranchB
git show --pretty=format: --name-only | grep . | grep -v fileyouwant | xargs git checkout HEAD^ --
git commit -a --amend -C HEAD