2013-03-28 57 views
4

我想挑選git中的提交,它添加了一堆文件,但也修改了我的分支中尚不存在的文件。git櫻桃挑選合併刪除文件

有衝突哪裏要添加的文件都上演,並在提交更改,但不會在分支尚不存在不演出和,被列爲該文件:

deleted by us: app/changed_file.rb 

如果我只提交暫存文件,當changed_file.rb最終合併到分支中時會引起問題嗎?

回答

3

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

摘櫻桃創建提交,所以如果你省略這並不在你的分支存在,但存在於分支你要合併的最終什麼都不會發生文件。

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 

,並作爲ls結果:bar.txt baz.txt foo.txt

1

可以直接刪除從提交你是櫻桃,如果不需要它撿...

的git RM FILE_NAME該文件

git commit

- 這裏確保您的提交信息包含更改ID:行作爲最後一段

混帳推起源HEAD:裁判/爲/ branch_name

這樣你不會得到任何衝突,它西港島線讓你更容易合併下一次..