5

git でコミットをチェリーピックしようとしています。これにより、一連のファイルが追加されますが、ブランチにまだ存在しないファイルも変更されます。

追加するファイルがすべてステージングされている競合があり、コミットで変更されたがブランチにはまだ存在しないファイルはステージングされず、次のようにリストされます。

deleted by us: app/changed_file.rb

ステージングされたファイルを単にコミットすると、changed_file.rb最終的にブランチにマージされるときに問題が発生しますか?

4

2 に答える 2

3

https://www.kernel.org/pub/software/scm/git/docs/git-cherry-pick.html

Cherry-pick は新しいコミットを作成するため、ブランチには存在しないがブランチには存在するファイルを省略した場合、最終的には何も起こりません。

mkdir test && cd test && git init && touch foo.txt
git add foo.txt && git commit -m "Init repo"
git branch test && git checkout test && vi foo.txt 
git add foo.txt && git commit -m "Changed foo on branch test"
git checkout master && touch bar.txt
git add bar.txt && git commit -m "Create bar.txt"
vi bar.txt 
touch baz.txt && git add . && git commit -m "Will be cherry picked"
git checkout test && git cherry-pick bfd1b58
git rm bar.txt && git commit
git checkout master && git merge test

そして結果としてlsbar.txt baz.txt foo.txt

于 2013-03-28T23:33:56.483 に答える
1

必要でない場合は、チェリーピックしているコミットからそのファイルを単純に削除できます...

git rm ファイル名

gitコミット

-ここで、コミットメッセージに Change ID : 行が最後の段落として含まれていることを確認してください

git push オリジン HEAD:refs/for/branch_name

これにより、競合が発生せず、次回のマージが容易になります..

于 2013-05-14T13:10:44.257 に答える