git命令大全

weixin_34236497發表於2016-06-02

關注公眾號QXF069

克隆版本:git clone path路徑 [] 若預設則是檔案的名字。

檢視遠端版本庫的地址 git remote -v | --verbose

將本地版本庫和遠端URL關聯起來 git remote add [-t branch] <name(origin)> # 如果指定-t branch,只會把branch分支同步下來,否則所有分支都會同步到本地。可以指定多個-t引數,將這些特定分支同步下來

取消本地版本庫和遠端URL的關聯 git remote rm <name(origin)>

刪除那些遠端版本庫中已經刪除,但本地還存在的分支 git remote prune [--dry-run] <name(origin)># 使用--dry-run引數,可以列出那些分支將被刪除,但不會執行刪除操作

列出本地分支(當前分支前面有個#)git branch [-v] [-r | --remotes | -a | --all] [-v | -vv]

-v 檢視冗餘資訊(最近一次提交的commitId以及註釋)

-vv 檢視冗餘資訊,還包括對應的up-stream

-r 或 --remtotes 檢視遠端分支(不加-r 或 -a的話只檢視本地分支)

-a 或 --all 檢視所有分支(本地+遠端)

刪除本地分支(delete) git branch -d | -D # -d 如果程式碼沒有合併,不讓刪除

-D 不管有沒有合併強制刪除分支

重新命名分支名字(move/rename) git branch -m | -M # -m 如果有重名分支,不讓重新命名 # -M 如果有重名分支,強制重新命名oldBranchName為newBranchName,並替換原來的newBranchName

根據當前分支建立新分支,但不切換到新分支上 git branch []# 如果需要建立新分支並切換到新分支,可以用:git checkout -b # 可以是一個分支名稱、commitId、tag標籤。如果沒有指定,建立的新分支將指向當前分支的HEAD,否則會指向對應的commit

關聯本地分支和遠端分支 git branch --track develop origin/develop # 關聯以後,執行pull或push命名就可以不用再指定origin了

獲取遠端最新程式碼 git fetch <name(origin)> [:]

合併(最好用工具合併 git merge --no-ff # --no-ff 建立一個merge的commit

如果merge時不能進行fast-forward,則不進行merge git merge --ff-only

獲取併合併到當前本地分支(如果有衝突,同樣可以用mergetool解決衝突) git pull 等價於 git pull origin

獲取遠端的分支,併合併到當前分支 git pull --no-ff origin

推入遠端庫 git push origin

刪除遠端分支 git delete origin :

提交git commit [-a | --all] -m "" # 如果指定-a引數,那些修改或者刪除的檔案,雖然沒有被add,但是也會被提交(新建的檔案不會);如果不指定-a引數,只有add過的檔案才會被提交 # -m 提交註釋

增補提交 git commit -C head -a --amend # 前提是想要進行增補提交的那個commit還沒有被push到遠端

切換到分支 git checkout

新建並檢出分支 git checkout -b [] # 如果沒指定,則從當前分支的HEAD檢出

將工作區的指定檔案或目錄回退版本 git checkout <fileName/directoryName># 如果是HEAD,則相當於撤銷當前檔案的修改,如果是一個commitId,則回退到特定的版本

反轉提交(撤銷提交)git revert head

復位到之前的版本git reset --hard head^^

如果不加顯示新增reset模式,預設是mixed模式

reset模式 HEAD位置 暫存區 工作目錄

soft 修改 不修改 不修改

mixed 修改 修改 不修改

hard 修改 修改 修改 # head^^ 表示回退到從head開始數的第三個版本(也就是回退了兩個版本)

檢視暫存棧 git stash list

刪除暫存git statsh drop []

檢視當前檔案的變更狀態git status

使用GUI來檢視歷史記錄gitk

使用命令列來檢視歷史記錄git log [-n | -] [-p] [--pretty=format:"" | --pretty=(oneline|short|full)] [--graph] [] [--grep=] [--after=] [--before=] [--author=] [--committer=]

檢視檔案狀態 git ls-files [-t] [-c] [-d] [-m] [-o] [-u] [<fileName/directoryName>]

建立標籤git tag 1.0

為某次提交建立標籤

git tag 1.0 1b2e1d63ff

顯示標籤列表

git tag

切換到標籤(只能檢視不能提交)

git checkout 1.0

找回被刪除的提交 git fsck --lost-found # 可以用 git show 的方式檢視是否是要找的那個提交

如果是的話,可以用git rebase或git merge來恢復

關注公眾號:

git命令大全