我正在幫助一些人蔘與一個項目,而我之前沒有使用過Git,所以我很生疏,並希望得到正確的結果。我的git工作流是否正確並符合我的團隊?
背景
沒有分叉。我被建議直接複製回購,然後分支。
origin/master
包含當前版本
origin/develop
的產品代碼包含了下一個版本
我的Git的工作流程草案
克隆的最新發展變化的代碼回購本地機器:
$ git clone <origin-url>
創建新的分支:
$ git checkout -b newFeature develop
進行更改,階段和提交它們:
$ git add . $ git commit -m "<message>"
更改推到遠程newFeature分公司(此分支不但在原產地回購存在):
$ git push origin newFeature
提交pull request將
origin/newFeature
合併爲origin/develop
。在接受拉請求刪除本地分支:
$ git branch -d newFeature
問題
難道我就在想,我需要確保我的本地
develop
在推動我的之前,分支已經與origin/develop
保持同步分支?這樣,我會幫助我的同事避免合併衝突,並允許快速合併?這樣做的最佳方法是什麼?我應該定期將
origin/develop
分支轉移到本地計算機嗎?Will Git會通知我,當我嘗試推送分支時代碼不是最新的?它會阻止推動嗎?
是否有必要在第2階段專門分支
develop
?如果我只是使用這個命令,這有什麼關係嗎?$ git checkout -b newFeature
我在批准PR後做的事情是將我的分行與當前的分行重新分配。所以我可以在本地解決合併衝突,我的分支是最新的開發。在此之後,我強制推回到我的原點/ newFeature併合並。 –
有一點需要注意,你可能需要'git push -u origin newFeature'來首次推送你的特性分支(儘管這取決於你的推送。默認'設置和Git版本:默認情況下這是自Git 2.0以來必需的,但在早期的Gits中不是這樣)。 – torek