櫻桃選取正在將從任意提交複製的差異序列應用於存儲庫的當前狀態。如果其中一些差異與存儲庫的當前狀態不一致,會發生什麼情況?例如,如果其中一個diff修改了一個文件f,但是這個文件不再存在於當前倉庫中呢?從與存儲庫當前狀態不一致的提交中摘櫻桃
0
A
回答
2
在這種情況下,會發生衝突。 Git暫停了櫻桃選擇,並等待你解決衝突或中止挑選櫻桃。從概念上講,這與a conflict that might arise due to a git merge
或git rebase
相同。
如果diff文件的一個修改什麼文件f,但在當前庫
的Git將提交你的選擇保持文件之間你挑肥揀瘦這個文件不再存在,保持文件被刪除或手動更新文件。
很容易看到它是如何工作的。
在您的文件系統中的某處(現有Git存儲庫之外),創建一個新目錄並輸入它。
mkdir cherry cd cherry
初始化一個空的Git倉庫
git init
創建一個文件,並添加一些內容到它
echo "Some changes" > README.md
將文件添加到索引並提交更改
git add README.md git commit -m "Added some content to the readme"
創建並檢查了一個新的分支
git checkout -b feature/readme-update
更改
README.md
文件再次echo "New content of README" > README.md
舞臺並提交更改
git add README.md git commit -m "Added more to readme"
保存最後的哈希提交。
回去
master
和刪除文件,提交更改git checkout master git rm README.md git commit -m "Removed the readme"
摘櫻桃從
feature/readme-update
,你改變了README.md
文件git cherry-pick <commit-hash>
您的內容提交在你手上有衝突
[email protected] MINGW64 /c/repos/cherry (master) $ git cherry-pick <commit-hash> error: could not apply 4a99ca7... Added more to readme hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' hint: and commit the result with 'git commit' [email protected] MINGW64 /c/repos/cherry (master|CHERRY-PICKING)
git status
還會告訴你同一件事$ git status On branch master You are currently cherry-picking commit 4a99ca7. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --abort" to cancel the cherry-pick operation) Unmerged paths: (use "git add/rm <file>..." as appropriate to mark resolution) deleted by us: README.md
在這種情況下,你可以刪除文件(接受
master
的變化),或添加它(接受更改你挑肥揀瘦)。另一種選擇是以您認爲合理的方式手動調整文件。無論什麼樣的變化,你接受,並將其應用到文件,將它們暫存並繼續摘櫻桃通過調用
git cherry-pick --continue
如果你困惑,不再想用櫻桃挑選來進行,通過呼叫中止它
git cherry-pick --abort
相關問題
- 1. 哪個提交摘櫻桃
- 2. Git的摘櫻桃
- 3. 櫻桃採摘Git中的一系列提交
- 4. 摘櫻桃從不同的回購
- 5. git的穩定分支:找不櫻桃採摘提交
- 6. Git:同步分支,包含以前櫻桃採摘的提交與主
- 7. Git的摘櫻桃老犯
- 8. 申請櫻桃採摘
- 9. Git櫻桃採摘範圍
- 10. Git - 除了櫻桃採摘主要的dev的日誌提交
- 11. 櫻桃採摘個人提交使用Git svn的
- 12. 當恢復git以前承諾如何櫻桃採摘?
- 13. 在git中摘櫻桃後dcommit到SVN
- 14. '致命:櫻桃挑選失敗'與Git
- 15. 在櫻桃採摘的提交中使用git rebase有什麼後果?
- 16. 如何在櫻桃採摘後刪除無主分支中的舊提交?
- 17. 哪個承諾是櫻桃採摘?
- 18. 列表櫻桃採摘切片方法
- 19. 合併跟蹤Git櫻桃採摘?
- 20. 爲什麼git的櫻桃摘葉未提交的修改退出非零
- 21. 如何櫻桃採摘從1分支到另一
- 22. Git - 櫻桃選擇一個單一的提交請求
- 23. 是Git的存儲機制本質上是創建提交,然後櫻桃採摘它?
- 24. git shortlog:如何排除「(從提交____挑選的櫻桃)」等等?
- 25. Git櫻桃挑選一個提交併將其放在下面
- 26. 如何確定Git中櫻桃樹的提交者?
- 27. git櫻桃採摘到不同的基本目錄
- 28. Git中的提交是否代表存儲庫的狀態?
- 29. 不能櫻桃挑選
- 30. 如何櫻桃圖片和第一個櫻桃採摘補丁添加第二個補丁?