0

cherry-pickブランチBからブランチAに変更したいコミットの1つに、変更された4つのファイルがありますが、そのコミット内のファイルの1つだけをブランチAに配置したいのです。ブランチAでそのファイルを取得するにはどうすればよいですか。ありがとう!

4

3 に答える 3

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

于 2012-07-13T00:13:46.833 に答える
1

1つのオプションはgit show -p COMMIT_HASH:path/to/file > path/to/file、変更されたファイルを取得してから、追加してコミットすることです。

于 2012-07-13T00:07:28.107 に答える
0

チェリーピック、必要なファイル以外のすべてのファイルを元に戻し、修正をコミットします。

git cherry-pick BranchB
git show --pretty=format: --name-only | grep . | grep -v fileyouwant | xargs git checkout HEAD^ -- 
git commit -a --amend -C HEAD
于 2012-07-13T01:50:37.987 に答える