簡體   English   中英

為什么我需要一個本地 master 分支?

[英]Why do I need a local master branch?

我們的團隊使用 git 已經有一段時間了,但是這件事還是讓我措手不及。 我經常與之前合並的文件發生沖突,並且與其他團隊成員修改的文件之間存在空白差異。 通常,它發生在我較早合並的分支中,解決這些問題以獲得干凈的合並是相當費力的...

因此,我試圖盡可能地簡化開發過程,讓它像 SVN 一樣具有抗干擾能力。 我可以每周合並一個來自 origin/master 的本地分支嗎? 我需要做什么才能讓它不陳舊,egit pull 就夠了嗎? 或者我必須跳舞通過

git checkout master
git pull
git checkout my_branch
git merge master

每次? 第一個命令顯然創建了本地 master,它回答了我在標題中的問題,但為什么 egit pull 還不夠?

Git 不知道在原始位置已經向 master 提交了,除非您以某種方式更新本地存儲庫——通常是使用fetchpull 這意味着,如果您只是合並 master 的本地副本,您可能正在合並一個過時的 head state,這可能會在您嘗試推送時導致問題。

您不需要本地主分支。 您可以通過合並遠程分支來避免這種麻煩:

git merge origin/master

我喜歡這個工作流程,它結合了reset --hardrebase

  1. 具有遠程源/主站的硬覆蓋本地主站
git checkout master
git fetch --all
git reset --hard origin/master
  1. 將當前的開發分支重新設置為 master。 注意:使用 rebase 來避免“合並提交”。
git checkout feature
git rebase master
  1. 是的,我一直這樣做。 從技術上講,可以直接變基到 origin/master,但我喜歡盡可能保持同步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM