新建一個目錄镰惦,將其初始化為Git代碼庫
$ git init [project-name]
下載一個項目和它的整個代碼歷史
$ git clone [url]
添加當(dāng)前目錄的所有文件到暫存區(qū)
$ git add .
提交暫存區(qū)到倉庫區(qū)
$ git commit -m [message]
提交暫存區(qū)的指定文件到倉庫區(qū)
$ git commit [file1] [file2] ... -m [message]
提交工作區(qū)自上次commit之后的變化箱硕,直接到倉庫區(qū)
$ git commit -a
提交時顯示所有diff信息
$ git commit -v
列出所有本地分支
$ git branch
列出所有遠程分支
$ git branch -r
列出所有本地分支和遠程分支
$ git branch -a
新建一個分支善涨,但依然停留在當(dāng)前分支
$ git branch [branch-name]
新建一個分支如捅,并切換到該分支
$ git checkout -b [branch]
新建一個分支葡缰,指向指定commit
$ git branch [branch] [commit]
新建一個分支,與指定的遠程分支建立追蹤關(guān)系
$ git branch --track [branch] [remote-branch]
切換到指定分支捂贿,并更新工作區(qū)
$ git checkout [branch-name]
切換到上一個分支
$ git checkout -
建立追蹤關(guān)系,在現(xiàn)有分支與指定的遠程分支之間
$ git branch --set-upstream [branch] [remote-branch]
合并指定分支到當(dāng)前分支
$ git merge [branch]
選擇一個commit胳嘲,合并進當(dāng)前分支
$ git cherry-pick [commit]
刪除分支
$ git branch -d [branch-name]
刪除遠程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
列出所有tag
$ git tag
新建一個tag在當(dāng)前commit
$ git tag [tag]
新建一個tag在指定commit
$ git tag [tag] [commit]
刪除本地tag
$ git tag -d [tag]
刪除遠程tag
$ git push origin :refs/tags/[tagName]
查看tag信息
$ git show [tag]
提交指定tag
$ git push [remote] [tag]
提交所有tag
$ git push [remote] --tags
新建一個分支厂僧,指向某個tag
$ git checkout -b [branch] [tag]
顯示有變更的文件
$ git status
顯示當(dāng)前分支的版本歷史
$ git log
顯示commit歷史,以及每次commit發(fā)生變更的文件
$ git log --stat
搜索提交歷史胎围,根據(jù)關(guān)鍵詞
$ git log -S [keyword]