Git常用命令速查手冊

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

Git的四個組成部分

75062926.png

1、初始化倉庫

git init

2、將文件添加到倉庫

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

3、將暫存區文件提交到本地倉庫

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

4、查看倉庫當前狀態

git status

5、比較文件異同

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

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

6、查看歷史記錄

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

7、代碼回滾

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

git reflog

git reset --hard 版本號

--soft:只是改變HEAD指針指向,緩存區和工作區不變;
--mixed:修改HEAD指針指向,暫存區內容丟失,工作區不變;
--hard:修改HEAD指針指向,暫存區內容丟失,工作區恢復以前狀態;

8、同步遠程倉庫

git push -u origin master

9、刪除版本庫文件

git rm 文件名

10、版本庫里的版本替換工作區的版本

git checkout -- test.txt

11、本地倉庫內容推送到遠程倉庫

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

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

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

13、創建分支

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

14、查看分支

git branch

15、合并分支

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

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

16、刪除分支

git branch -d dev

17、查看分支合并圖

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

18、查看遠程庫信息

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

19、git相關配置

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

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

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更加安全
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容

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