Git merge命令用法

2020-08-18 11:14 更新

git merge 是在 Git 中使用比較頻繁的一個命令,其主要用于將兩個或兩個以上的開發(fā)歷史加入(合并)一起。本文就為大家?guī)?git merge 命令的常見用法。


git merge三種語法:

git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
    [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
    [--[no-]allow-unrelated-histories]
    [--[no-]rerere-autoupdate] [-m <msg>] [<commit>…?]
git merge --abort
git merge --continue


git merge用途

git-merge 命令是用于從指定的 commit(s) 合并到當(dāng)前分支的操作。

注:這里的指定 commit(s) 是指從這些歷史 commit 節(jié)點(diǎn)開始,一直到當(dāng)前分開的時(shí)候。

1、用于 git-pull 中,來整合另一代碼倉庫中的變化(即:git pull = git fetch + git merge)

2、用于從一個分支到另一個分支的合并


假設(shè)下圖中的歷史節(jié)點(diǎn)存在,并且當(dāng)前所在的分支為“master”:

1

那么 ?git merge topic? 命令將會把在 master 分支上二者共同的節(jié)點(diǎn)(E節(jié)點(diǎn))之后分離的節(jié)點(diǎn)(即 topic 分支的A B C節(jié)點(diǎn))重現(xiàn)在 master 分支上,直到topic分支當(dāng)前的 commit 節(jié)點(diǎn)(C節(jié)點(diǎn)),并位于master分支的頂部。并且沿著 master 分支和 topic 分支創(chuàng)建一個記錄合并結(jié)果的新節(jié)點(diǎn),該節(jié)點(diǎn)帶有用戶描述合并變化的信息。

即下圖中的H節(jié)點(diǎn),C 節(jié)點(diǎn)和 G 節(jié)點(diǎn)都是 H 節(jié)點(diǎn)的父節(jié)點(diǎn)。

2


git merge <msg> HEAD <commit>...命令

該命令的存在是由于歷史原因,在新版本中不應(yīng)該使用它,應(yīng)該使用git merge -m <msg> <commit>....進(jìn)行替代


git merge --abort命令

該命令僅僅在合并后導(dǎo)致沖突時(shí)才使用。git merge --abort 將會拋棄合并過程并且嘗試重建合并前的狀態(tài)。但是,當(dāng)合并開始時(shí)如果存在未 commit 的文件,git merge --abort在某些情況下將無法重現(xiàn)合并前的狀態(tài)。(特別是這些未 commit 的文件在合并的過程中將會被修改時(shí))

警告:

運(yùn)行 git-merge 時(shí)含有大量的未 commit 文件很容易讓你陷入困境,這將使你在沖突中難以回退。因此非常不鼓勵在使用 git-merge 時(shí)存在未 commit 的文件,建議使用 git-stash 命令將這些未 commit 文件暫存起來,并在解決沖突以后使用 git stash pop 把這些未 commit 文件還原出來。


以上就是 Git merge 命令的一些常見用法,希望對大家有所幫助。想要了解更多 Git 命令,可點(diǎn)擊:Git 常用命令速查表


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號