git merge是在Git中使用比較頻繁的一個(gè)命令,其主要用于將兩個(gè)或兩個(gè)以上的開發(fā)歷史加入(合并)一起。本文就為大家?guī)韌it merge命令的常見用法。
git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
[-s ] [-X ] [-S[]]
[--[no-]allow-unrelated-histories]
[--[no-]rerere-autoupdate] [-m ] […?]
git merge --abort
git merge --continue
⒉ git merge用途
git-merge命令是用于從指定的commit(s)合并到當(dāng)前分支的操作。
(1)用于git-pull中,來整合另一代碼倉庫中的變化(即:git pull = git fetch + git merge)
(2)用于從一個(gè)分支到另一個(gè)分支的合并
假設(shè)下圖中的歷史節(jié)點(diǎn)存在,并且當(dāng)前所在的分支為“master”:
那么git merge topic命令將會(huì)把在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)建一個(gè)記錄合并結(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)。
⒊ git merge HEAD ...命令
該命令的存在是由于歷史原因,在新版本中不應(yīng)該使用它,應(yīng)該使用git merge -m ....進(jìn)行替代
該命令僅僅在合并后導(dǎo)致沖突時(shí)才使用。git merge --abort將會(huì)拋棄合并過程并且嘗試重建合并前的狀態(tài)。但是,當(dāng)合并開始時(shí)如果存在未commit的文件,git merge --abort在某些情況下將無法重現(xiàn)合并前的狀態(tài)。(特別是這些未commit的文件在合并的過程中將會(huì)被修改時(shí))
警告:
運(yùn)行g(shù)it-merge時(shí)含有大量的未commit文件很容易讓你陷入困境,這將使你在沖突中難以回退。因此非常不鼓勵(lì)在使用git-merge時(shí)存在未commit的文件,建議使用git-stash命令將這些未commit文件暫存起來,并在解決沖突以后使用git stash pop把這些未commit文件還原出來。
以上就是Git merge命令的一些常見用法,希望對大家有所幫助。想要了解更多Git命令,可點(diǎn)擊:Git常用命令速查表