git常用命令彙總

2021-08-29 01:39:15 字數 3410 閱讀 5279

1. git add 新增到檔案到版本庫,也可以新增檔案 git add . 或者 git add *

2. git reset head 取消新增到版本庫

3. git commit -m 「commit message」 提交修改,當版本庫內容有修改時才可以修改(即使用了git add命令)

提交可選的額外資訊:使用兩次-m 如:git commit -m "測試" -m "具體測試了功能能否實現"

修改最近一次提交:git commit --amend

4. git checkout 在到撤銷到新增到暫存區的狀態(如果沒有新增到暫存區就是回到最後乙個版本的狀態)

5. git reset --hard head^ 回退到上乙個版本,head表示當前版本,加1個^表示上乙個版本,2個^表示上上個版本,也可以使用具體的commit id號。

6. git log 檢視提交記錄

7. git reflog 使用git reset --hard之後檢視在此次當前提交之後的版本的commit id

8. git rm 刪除某個檔案(直接刪除之後要使用該命令讓刪除的檔案在版本庫中新增記錄)

9. git branch 檢視本地分支

git branch -a 檢視遠端分支

git branch branch_name 檢視分支名

git branch -d branch_name 刪除分支

git checkout -b test 建立並切換到分支

git push orgin :branch_name 刪除遠端庫上的分支(注意冒號前面有空格)

10. git push origin test 其中origin為新增的遠端庫的名稱,test為遠端庫的分支名

11. git remote -v 檢視遠端版本庫的資訊

12. git merge dev 將dev分支合併到本分支上(如果衝突會顯示在master|merging分支上,需要對衝突進行處理,然後在提交即可解決衝突)

13. git stash 用於存放當前現場(恢復當最後一次提交版本的狀態),然後可以進行另外的一些操作,之後再進行使用git stash pop恢復現場

14. git tag tag_name [commit_id] 為提交打標籤,方便之後查詢

git tag -d tag_name 刪除標籤

git tag 顯示標籤

15. git push origin tag_name 將標籤推到遠端庫

git push orgin --tags 推送所有的分支到遠端庫

git push orgin :refs/tags/tag_name 刪除遠端庫上的標籤

16. git remote rm origin 刪除指定的遠端庫(origin是指定的遠端庫名)

git remote add orgin [email protected]:w-g-b/guangfuar.git (新增遠端庫,新增之後如果對有對倉庫的修改許可權**fetch和push位址)

git remote set-url origin [url] 修改遠端倉庫

17. git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit" 為引數起別名(加上--global表示全域性,沒有加則只對當前的倉庫起作用)

cat .git/config 檢視本引數中的git配置檔案

cat .gitconfig 檢視使用者的git配置檔案(在使用者目錄下,通過cd ~命令切換)

18. git diff staging area 和working area的檔案比較

git diff master master分支和working area的檔案

git diff head head指向的內容和working area的檔案

git diff refs/remotes/origin/master 用遠端master分支比較當前工作區

git diff 2501b8d8bca76 ./socket_helper.cpp 用master分支的某個檔案的歷史版本和working area的該檔案比較

diff的命令輸出格式注意:

[plain] view plaincopy

---代表原始檔  

+++代表目標檔案  

通常working area的檔案都是被當作目標檔案來看待。

-開頭的行,是只出現在原始檔中的行

+開頭的行,是只出現在目標檔案中的行

空格開頭的行,是原始檔和目標檔案中都出現的行

差異按照差異小結進行組織,每個差異小結的第一行都是定位語句,由@@開頭,@@結尾。

[plain] view plaincopy

chenshu@chenshu-yangzhou-home:~/kaimei/data_service/src$ git diff 0c5ee16a6a4c849d0ae0448caa8ff174399c7c3c ./ socket_helper.cpp  

diff --git a/data_service/src/socket_helper.cpp b/data_service/src/socket_helper.cpp  

index d606452..047e213 100755  

--- a/data_service/src/socket_helper.cpp  

+++ b/data_service/src/socket_helper.cpp  

@@ -4,6 +4,7 @@  

#include "data/login_response.h"  

#include "data/heartbeat_response.h"  

#include "helper/parser.h"  

+#include "helper/time_measure.h"  

#include 

#include "exception/socket_error.h"  

#include "exception/data_error.h"  

上面的diff結果表明

1.某個提交記錄0c5ee代表的socket_helper.cpp檔案是原始檔,當前working area的socket_helper檔案是目標檔案。

2.在原始檔第4行開始的6行和目標檔案第4行開始的7行構成乙個差異小結

3.這個差異小結中,目標檔案新增了一行#include "helper/time_measure.h"

4.其他空格開頭的行表明沒有差異。

解決 git 重新命名時遇到的大小寫不敏感的問題:

設定git忽略大小寫:git config core.ignorecase false

git push一次推送到多個遠端庫(

git常用命令彙總

針對常用的git命令,進行彙總記錄,以便及時查詢 可以定乙個指令碼,檢查語法錯誤的,或是借用第三方工作進行檢查,然後將該指令碼放到專案的 git hook pre commit 位置,也可以放到乙個位置軟鏈到多個專案 git hook pre commit 中,這時,在提交時,會檢查語法規範,提高 ...

git常用命令彙總

git是由linux kernel創立者 linux torvalds 開發的 因為bitkeeper的問題 屬於dvcs 分布式版本控制 github 是乙個開源專案社群,始於2007 08上線 github 裡面的專案可以通過標準的 git 命令進行訪問和操作 pro git v2書本傳送門 而...

git 常用命令彙總

1 獲取git的版本 git version 2 初始化倉庫 git init 初始化乙個本地倉庫 git version 獲取git的版本 git config global user.name yourname git config global user.email youremail 第3 ...