一般來說,日常使用只要記住下圖 6 個命令,就可以了。但是熟練使用,恐怕要記住 60~100 個命令。
下面是我整理的常用 git 命令清單。幾個專用名詞的譯名如下。
在當前目錄新建乙個 git **庫
$ git init
新建乙個目錄,將其初始化為 git **庫
$ git init [project-name]
$ git clone [url]
git 的設定檔案為.gitconfig,它可以在使用者主目錄下(全域性配置),也可以在專案目錄下(專案配置)。
顯示當前的 git 配置
$ git config --list
編輯 git 配置檔案
$ git config -e [
--global]
設定提交**時的使用者資訊
$ git config [
--global] user.name "[name]"
$ git config [
--global] user.email "[email address]"
新增指定檔案到暫存區
$ git add [file1]
[file2]..
.新增指定目錄到暫存區,包括子目錄
$ git add [dir]
新增當前目錄的所有檔案到暫存區
$ git add .
刪除工作區檔案,並且將這次刪除放入暫存區
$ git rm [file1]
[file2]..
.停止追蹤指定檔案,但該檔案會保留在工作區
$ git rm --cached [file]
改名檔案,並且將這個改名放入暫存區
$ git mv [file-original]
[file-renamed]
提交暫存區到倉庫區
$ git commit -m [message]
提交暫存區的指定檔案到倉庫區
$ git commit [file1]
[file2]..
.-m [message]
提交工作區自上次 commit 之後的變化,直接到倉庫區
$ git commit -a
提交時顯示所有 diff 資訊
$ git commit -v
使用一次新的 commit,替代上一次提交
如果**沒有任何新變化,則用來改寫上一次 commit 的提交資訊
$ git commit --amend -m [message]
重做上一次 commit,幷包括指定檔案的新變化
$ git commit --amend .
..
列出所有本地分支
$ git branch
列出所有遠端分支
$ git branch -r
列出所有本地分支和遠端分支
$ git branch -a
新建乙個分支,但依然停留在當前分支
$ git branch [branch-name]
新建乙個分支,並切換到該分支
$ git checkout -b [branch]
新建乙個分支,指向指定 commit
$ git branch [branch]
[commit]
新建乙個分支,與指定的遠端分支建立追蹤關係
$ git branch --track [branch]
[remote-branch]
切換到指定分支,並更新工作區
$ git checkout [branch-name]
建立追蹤關係,在現有分支與指定的遠端分支之間
$ git branch --set-upstream [branch]
[remote-branch]
合併指定分支到當前分支
$ git merge [branch]
選擇乙個 commit,合併進當前分支
$ git cherry-pick [commit]
刪除分支
$ git branch -d [branch-name]
刪除遠端分支
$ git push origin --
delete
$ git branch -dr
列出所有 tag
$ git tag
新建乙個 tag 在當前 commit
$ git tag [tag]
新建乙個 tag 在指定 commit
$ git tag [tag]
[commit]
檢視 tag 資訊
$ git show [tag]
提交指定 tag
$ git push [remote]
[tag]
提交所有 tag
$ git push [remote]
--tags
新建乙個分支,指向某個 tag
$ git checkout -b [branch]
[tag]
顯示有變更的檔案
$ git status
顯示當前分支的版本歷史
$ git log
顯示 commit 歷史,以及每次 commit 發生變更的檔案
$ git log --stat
顯示某個檔案的版本歷史,包括檔案改名
$ git log --follow [file]
$ git whatchanged [file]
顯示指定檔案相關的每一次 diff
$ git log -p [file]
顯示指定檔案是什麼人在什麼時間修改過
$ git blame [file]
顯示暫存區和工作區的差異
$ git diff
顯示暫存區和上乙個 commit 的差異
$ git diff --cached [
]顯示工作區與當前分支最新 commit 之間的差異
$ git diff head
顯示兩次提交之間的差異
$ git diff [first-branch]..
.[second-branch]
顯示某次提交的元資料和內容變化
$ git show [commit]
顯示某次提交發生變化的檔案
$ git show --name-only [commit]
顯示某次提交時,某個檔案的內容
$ git show [commit]
:[filename]
顯示當前分支的最近幾次提交
$ git reflog
$ git fetch [remote]
顯示所有遠端倉庫
$ git remote -v
顯示某個遠端倉庫的資訊
$ git remote show [remote]
增加乙個新的遠端倉庫,並命名
$ git remote add [shortname]
[url]
取回遠端倉庫的變化,並與本地分支合併
$ git pull [remote]
[branch]
上傳本地指定分支到遠端倉庫
$ git push [remote]
[branch]
強行推送當前分支到遠端倉庫,即使有衝突
$ git push [remote]
--force
推送所有分支到遠端倉庫
$ git push [remote]
--all
恢復暫存區的指定檔案到工作區
$ git checkout [file]
恢復某個 commit 的指定檔案到工作區
$ git checkout [commit]
[file]
恢復上乙個 commit 的所有檔案到工作區
$ git checkout .
重置暫存區的指定檔案,與上一次 commit 保持一致,但工作區不變
$ git reset [file]
重置暫存區與工作區,與上一次 commit 保持一致
$ git reset --hard
重置當前分支的指標為指定 commit,同時重置暫存區,但工作區不變
$ git reset [commit]
重置當前分支的 head 為指定 commit,同時重置暫存區和工作區,與指定 commit 一致
$ git reset --hard [commit]
重置當前 head 為指定 commit,但保持暫存區和工作區不變
$ git reset --keep [commit]
新建乙個 commit,用來撤銷指定 commit
後者的所有變化都將被前者抵消,並且應用到當前分支
$ git revert [commit]
生成乙個可供發布的壓縮包
$ git archive
Git 常用指令
首先需要建立乙個repo,這是cd到資料夾底下,然後init。git init 在檔案系統裡面的檔案如果不新增到git的repo裡面,不會自動被git辨識,需要手動新增,這也是初始化repo是必須要做的事。git add documentation txt git add git sh 刪除檔案,分...
git常用指令
git 常用命令 git init here 建立本地倉庫 repository 將會在資料夾下建立乙個 git 資料夾,git 資料夾裡儲存了所有的版本資訊 標記等內容 git remote add origin git github.com winter1991 helloworld.git 把...
git常用指令
git config global user.name robbin git config global user.email fankai gmail.com git config global color.ui true git config global alias.co checkout g...