在 Git 中從 master 更新分支
當在 Git 中與許多開發人員和分析師同時在各個分支上工作時,我們可能會遇到許多問題。一個常見的問題是當一名團隊成員在他的本地分支中進行更改,而其他人在該遠端分支上工作,然後將他們的更改合併到遠端主分支。
此外,如果我們推送正在工作的本地分支而不拉取遠端主分支,那麼我們必須在遠端主分支中重寫其他開發人員的更改。
這篇文章是關於 git update master branch
命令的,我們將討論完整的 Git 更新分支模型。分支
功能可以在大多數現代和獨特的版本控制系統中找到。
在 Git 中,最重要和最有用的特性是分支,它是我們日常開發過程的一部分。本文將指導我們使用下面提到的方法更新 Git 分支。
如果我們希望我們的 git 功能分支使用來自 master 分支的新更改進行更新,我們需要遵循以下任一技術:
- 合併
- 變基
合併建立更多的提交,而 rebase 會重寫倉庫中的歷史記錄。
假設我們在我們建立的倉庫中的任何功能分支上,以便在我們的開發過程中新增子功能。
分支的當前狀態如下。
git branch
* feature branch
並且在倉庫的 origin/master 分支上有新的提交可用:
git fetch
From git repository
xyz88874..def74125 master -> origin/master
那麼我們如何將上面的提交從本地分支合併到主分支呢?我們現在有兩個解決方案,第一個是使用 merge
命令,另一個是 Git 中的 rebase
命令。
在 Git 中使用 merge
命令更新主分支
由於我們想要將本地分支的最新提交合併到主分支,我們可以使用以下命令來合併提交。
git merge origin/master
當我們要將本地分支的更改提交到遠端分支時,如果我們在其中發現一些衝突,我們將首先將衝突合併到一個檔案中併為其建立一個新的合併提交。如果我們在工作目錄中沒有發現衝突,則會將新的提交直接推送到遠端分支。
使用 rebase
命令更新主分支
由於我們想要將最新的提交從本地分支變基到主分支,那麼我們可以使用下面的命令來變基提交。
git rebase origin/master
Rebase 將特性分支的所有不同提交向上移動。這表明分歧的提交現在將由 \new commit hashes\
組成,因為它的歷史將再次寫入主分支。
此外,如果我們的功能分支已經推送到遠端主分支,那麼我們需要強制推送以使其更新:
git push origin feature --force
但是,如果其他開發人員已經檢查了該功能分支,則不建議使用此方法,最好在這種情況下堅持使用合併命令。
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn