Git常用命令速查手冊

命令不斷更新中......

Git的四個組成部分

75062926.png

1、初始化倉庫

git init

2、將文件添加到倉庫

git add 文件名 # 將工作區(qū)的某個文件添加到暫存區(qū)   
git add -u # 添加所有被tracked文件中被修改或刪除的文件信息到暫存區(qū),不處理untracked的文件
git add -A # 添加所有被tracked文件中被修改或刪除的文件信息到暫存區(qū),包括untracked的文件
git add . # 將當前工作區(qū)的所有文件都加入暫存區(qū)
git add -i # 進入交互界面模式,按需添加文件到緩存區(qū)

3、將暫存區(qū)文件提交到本地倉庫

git commit -m "提交說明" # 將暫存區(qū)內(nèi)容提交到本地倉庫
git commit -a -m "提交說明" # 跳過緩存區(qū)操作,直接把工作區(qū)內(nèi)容提交到本地倉庫

4、查看倉庫當前狀態(tài)

git status

5、比較文件異同

git diff # 工作區(qū)與暫存區(qū)的差異
git diff 分支名 #工作區(qū)與某分支的差異,遠程分支這樣寫:remotes/origin/分支名
git diff HEAD  # 工作區(qū)與HEAD指針指向的內(nèi)容差異
git diff 提交id 文件路徑 # 工作區(qū)某文件當前版本與歷史版本的差異
git diff --stage # 工作區(qū)文件與上次提交的差異(1.6 版本前用 --cached)
git diff 版本TAG # 查看從某個版本后都改動內(nèi)容
git diff 分支A 分支B # 比較從分支A和分支B的差異(也支持比較兩個TAG)
git diff 分支A...分支B # 比較兩分支在分開后各自的改動

# 另外:如果只想統(tǒng)計哪些文件被改動,多少行被改動,可以添加 --stat 參數(shù)

6、查看歷史記錄

git log # 查看所有commit記錄(SHA-A校驗和,作者名稱,郵箱,提交時間,提交說明)
git log -p -次數(shù) # 查看最近多少次的提交記錄
git log --stat # 簡略顯示每次提交的內(nèi)容更改
git log --name-only # 僅顯示已修改的文件清單
git log --name-status # 顯示新增,修改,刪除的文件清單
git log --oneline # 讓提交記錄以精簡的一行輸出
git log –graph –all --online # 圖形展示分支的合并歷史
git log --author=作者  # 查詢作者的提交記錄(和grep同時使用要加一個--all--match參數(shù))
git log --grep=過濾信息 # 列出提交信息中包含過濾信息的提交記錄
git log -S查詢內(nèi)容 # 和--grep類似,S和查詢內(nèi)容間沒有空格
git log fileName # 查看某文件的修改記錄,找背鍋專用

7、代碼回滾

git reset HEAD^ # 恢復成上次提交的版本
git reset HEAD^^ # 恢復成上上次提交的版本,就是多個^,以此類推或用~次數(shù)

git reflog

git reset --hard 版本號

--soft:只是改變HEAD指針指向,緩存區(qū)和工作區(qū)不變;
--mixed:修改HEAD指針指向,暫存區(qū)內(nèi)容丟失,工作區(qū)不變;
--hard:修改HEAD指針指向,暫存區(qū)內(nèi)容丟失,工作區(qū)恢復以前狀態(tài);

8、同步遠程倉庫

git push -u origin master

9、刪除版本庫文件

git rm 文件名

10、版本庫里的版本替換工作區(qū)的版本

git checkout -- test.txt

11、本地倉庫內(nèi)容推送到遠程倉庫

git remote add origin git@github.com:帳號名/倉庫名.git

12、從遠程倉庫克隆項目到本地

git clone git@github.com:git帳號名/倉庫名.git

13、創(chuàng)建分支

git checkout -b dev
-b表示創(chuàng)建并切換分支
上面一條命令相當于一面的二條:
git branch dev //創(chuàng)建分支
git checkout dev //切換分支

14、查看分支

git branch

15、合并分支

git merge dev
//用于合并指定分支到當前分支

git merge --no-ff -m "merge with no-ff" dev
//加上--no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來曾經(jīng)做過合并

16、刪除分支

git branch -d dev

17、查看分支合并圖

git log --graph --pretty=oneline --abbrev-commit

18、查看遠程庫信息

git remote
// -v 顯示更詳細的信息

19、git相關(guān)配置

# 安裝完Git后第一件要做的事,設(shè)置用戶信息(global可換成local在單獨項目生效):
git config --global user.name "用戶名" # 設(shè)置用戶名
git config --global user.email "用戶郵箱"   #設(shè)置郵箱
git config --global user.name   # 查看用戶名是否配置成功
git config --global user.email   # 查看郵箱是否配置

# 其他查看配置相關(guān)
git config --global --list  # 查看全局設(shè)置相關(guān)參數(shù)列表
git config --local --list # 查看本地設(shè)置相關(guān)參數(shù)列表
git config --system --list # 查看系統(tǒng)配置參數(shù)列表
git config --list  # 查看所有Git的配置(全局+本地+系統(tǒng))
git config --global color.ui true //顯示git相關(guān)顏色

20、撤消某次提交

git revert HEAD # 撤銷最近的一個提交
git revert 版本號 # 撤銷某次commit

21、拉取遠程分支到本地倉庫

git checkout -b 本地分支 遠程分支 # 會在本地新建分支,并自動切換到該分支
git fetch origin 遠程分支:本地分支 # 會在本地新建分支,但不會自動切換,還需checkout
git branch --set-upstream 本地分支 遠程分支 # 建立本地分支與遠程分支的鏈接

22、標簽命令

git tag 標簽 //打標簽命令,默認為HEAD
git tag //顯示所有標簽
git tag 標簽 ?版本號 //給某個commit版本添加標簽
git show 標簽 //顯示某個標簽的詳細信息

23、同步遠程倉庫更新

git fetch  origin master
 //從遠程獲取最新的到本地,首先從遠程的origin的master主分支下載最新的版本到origin/master分支上,然后比較本地的master分支和origin/master分支的差別,最后進行合并。

git fetch比git pull更加安全
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 以下內(nèi)容是我在學習和研究Git時,對Git操作的特性、重點和注意事項的提取、精練和總結(jié),可以做為Git操作的字典,...
    科研者閱讀 3,695評論 2 19
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,834評論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,852評論 9 163
  • 作為一個語言愛好者和學習者,在不斷的語言學習中,深感凡事皆有規(guī)律,如果我們遵循它,則會事半功倍,反之,就可能事倍功...
    月明西湖閱讀 361評論 0 2
  • 感恩老公在家給孩子做晚飯,我和老媽可以去看建材。 感恩局里組織了拔河比賽,活躍了全局的氣氛,也感恩所有參賽的選手的...
    毛毛細雨mmxy閱讀 160評論 0 0

友情鏈接更多精彩內(nèi)容