我有包含檔案夾 A、B、C 的 master 分支。我從 master 簽出一個功能分支。然后我洗掉功能分支中的檔案夾 B 并將新檔案添加到功能分支中的檔案夾 C 中。然后,我嘗試將功能分支合并到主分支中。會不會有合并沖突?如果是,我該如何避免。
uj5u.com熱心網友回復:
沖突必須在兩件事之間。在版本控制中,我們談論要合并在一起的兩個分支之間的“合并沖突” ,當它們中的每一個以不同的方式更改相同的東西時就會發生這種情況。
如果您在一個檔案中有兩個不同的行,或者兩個不同的檔案,或者兩個不同的檔案夾,那么您可以在不同的分支中分別編輯它們,并且合并將合并這兩個更改 - 這就是它被稱為“合并”的原因。當無法合并更改時,沖突部分就出現了,因為它們相互矛盾,就像您在一個分支中編輯檔案,但在另一個分支中洗掉它一樣。
uj5u.com熱心網友回復:
會不會有合并沖突?
嚴格來說不,因為您在處理功能分支時沒有提到提交到主分支或將其他一些提交(即通過從遠程存盤庫獲取)合并到主分支。
但是,如果您執行上述任何操作,則對 master 分支的以下操作將導致合并沖突:
- 修改檔案夾中的檔案
B - 在檔案夾中添加一個
C與您在功能分支中添加的檔案具有相同名稱但內容不同的新檔案
如果是,我該如何避免。
在您的功能分支上作業時,不要有任何提交進入 master。
當然,任何嚴肅的作業流程都不會允許這種對 master 的阻塞,因此總是有可能發生沖突。就我個人而言,我喜歡在合并之前將我的功能分支重新定位到 master 上。但這只會將沖突從合并程序轉移到變基程序。但是優點是我可以通過提交來重新提交。如果 master 中有五個新提交并且每個提交都給了我一個沖突,那么直接 rebase 到 master 是很痛苦的,因為我必須立即解決所有沖突。如果我改為基于第一個提交,然后到第二個提交,依此類推,我可以一個一個地解決沖突。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414064.html
標籤:
上一篇:將dev合并到主分支的正確方法
