我有一個穩定且在線的網路應用程式。幾周前,我決定開始開發一個新功能并創建了一個開發分支。從那以后,我已經完成了這個開發,并希望使這個功能成為現實。
我已經閱讀git rebase并且雖然我理解了重新定位分支的概念,但我不確定從最佳實踐的意義上應該如何應用它。我創建了第二個“虛擬”本地倉庫來嘗試一些事情。我的想法是,一旦開發完成且穩定,這應該是您新的“穩定”(主)分支。所以我嘗試了:
git rebase development master:這最終奏效了,但正如我預期的那樣令人討厭,因為它有幾個沖突需要解決。但是,這意味著該master分支具有所有新的開發功能。git rebase master development:這要快得多,因為沒有要解決的沖突,但是,所有開發功能都保留在development分支上,這并沒有反映在我的“穩定”master分支上。
在這兩種情況下,一旦變基完成,我就會收到通知,說我的本地分支已經從遠程分支中分離出來,并將遠程分支git pull合并到我的本地分支中(可能是另一個問題)。
由于我是 VCS 新手,我不確定哪種方法是最佳實踐方法?有人可以提供一些建議嗎?我想擁有一個master帶有我的新功能的主要穩定分支 ( )。大多數人是否重新建立并丟棄(從development某種意義上master說,它已歸檔)“舊”master分支?或者我應該總是重新定位以保持“穩定”分支的進展并master在development未來需要時創建新的開發分支?
另一個問題是變基后的分歧分支。這會產生問題,git pull因為有很多不同的提交(見下圖)。
你怎么認為?最好的方法是什么?


uj5u.com熱心網友回復:
git rebase master development:這要快得多,因為沒有要解決的沖突,但是,所有開發功能都保留在開發分支上,這并沒有反映在我的“穩定”主分支上。
是的:您需要(在變基之后)合并development到masterfor masterto reflect development。
rebase 的目標(作為第一步)是確保 rebasedevelopment分支仍然在 up-to-date 之上作業,在master本地解決任何可能的沖突。
然后從devto的合并master是微不足道的,因為所有dev提交都已經在master.
請注意,任何變基都需要git push --force發布變基分支的新歷史。如果您是唯一在該分支上作業的人,那沒什么大不了的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/458815.html
上一篇:我如何在JSP中提供即時反饋?
下一篇:恢復合并提交并稍后合并提交的子集
