來自svn背景:由於(缺少)切換速度以及將分支合併回樹幹的小時數或更多時間,我幾乎從不分支。有時候,如果我需要在網站上修補一個問題,我會在後備箱中進行更改(這將與先前的更改或新功能一起),然後轉到該文件,然後執行「svn up path/to /文件名「,它只會更新該文件,解決問題,但會節省剩餘的文件。從概念上講,這似乎不可能在git(或必要);它是否允許櫻桃採摘的結構化分段和分組提交?因此,我可能會更改網站的特定區域,並將其作爲一組進行提交,而不是如何處理svn,並且執行一天的工作並觸及整個提交整個批次的文件?瞭解git cherry-pick
9
A
回答
10
在這種情況下,您可能想要做的是爲您的修補程序創建一個新的分支,從所有需要該修補程序的分支的共同祖先分支出來。例如,假設你有一對夫婦保持的版本與您當前的發展一起:
- X - o - o - o - o - o - o - o - o - o (master)
\ \
o - o - o (release A) o - o (release B)
如果您需要將適用於這兩個版本的修補程序的,創建一個分支從呈交標爲X.開始提交你的修正,然後將該分支合併到所有三個分支中。
你可以挑選櫻桃,但這裏有一個很好的關於何時挑選櫻桃的經驗法則:不。唯一一個你想挑選櫻桃的案例就是你嚴格管理你的分支機構。在這種情況下,這可能意味着您對主服務器進行了修復,而不是將其從較早的時間點正確地分支出去,而且人們已將更新提交給主服務器,因此您無法更改它。你必須選擇在兩個發佈分支上進行選擇。但是,當然,你應該首先正確地管理你的分支機構,而且你永遠不需要挑選。 (是的,它有時候還會發生;這就是生活。)
相關問題
- 1. git reverse cherrypick
- 2. gerrit-git(pull vs checkout vs cherrypick)這是爲了什麼?
- 3. Cherrypick提交訂單
- 4. 瞭解git init
- 5. Git:關於cherrypick的查詢在Git中提交
- 6. 瞭解git pull和git fetch
- 7. Git:瞭解post-receive
- 8. 瞭解git分支
- 9. 試圖瞭解Git分支
- 10. Git壞的合併:瞭解它們
- 11. Git-瞭解diff命令的輸出
- 12. 使用git瞭解dev/prod部署
- 13. Git:錯誤地解開了提交
- 14. 瞭解Git和GitHub的基礎知識
- 15. 試圖瞭解Git如何工作
- 16. 瞭解分支與Git和Github
- 17. 通過XCode和BitBucket瞭解Git
- 18. 瞭解Git,使用php ide和ftp
- 19. 試圖瞭解Git工作流程
- 20. 瞭解基本的git掛鉤
- 21. 試圖瞭解Git(通過VS 2017)
- 22. 從遠程倉庫的Cherrypick單一修訂?
- 23. 瞭解Git和如何使用EGit(git eclipse插件)
- 24. 瞭解何時使用git commit -m和git commit -am
- 25. Git Clone太慢了
- 26. git bisect卡住了
- 27. 解析git-status
- 28. Git Windows - Git克隆被卡住了
- 29. 好的和清楚的瞭解git分支的分歧問題?
- 30. 需要了解的Git /格里特命令(讀取和推)
太棒了。我只是玩過一些「git branch foo old-merge-sha1」的東西,這真是太棒了。 – Hans 2010-08-06 03:32:06
爲「FeatureA」創建分支關閉主體,然後再爲主題分支「FeatureA」,最好的做法是在主體準備好時將它們合併到FeatureA中,但在整個FeatureA準備就緒之前不會觸摸主體,是否將FeatureA合併爲主?現在(在svn中)如果我正在處理需要幾周時間並需要修補程序的事情,那麼我會按照我的問題(svn up path/to/filename)中描述的方式進行操作,然後繼續。 Git分支似乎是一個「經常合併」的建議,但是如果我不想* master/trunk在準備好之前觸摸,那麼我可以自由更新網站。 – Hans 2010-08-06 03:41:31
@Hans:直到合併時才合併。通常master是一個當前穩定的分支,所以如果你願意,你可以移動一個部分但穩定的特性,但是一般來說,你應該只合並完整的東西。而且很可能有幾個不同風格的穩定分支 - 一個用於給定的relase(用於您的網站),一個用於當前的穩定測試,一個用於不穩定的測試......只是確保總是以正確的方向合併(topic - >功能 - >主控或不穩定 - >穩定)。 – Cascabel 2010-08-06 03:58:07