Git常用命令總結

2021-10-17 03:41:10 字數 4253 閱讀 5593

1.檢視本地修改

git diff .

git commit之後想撤銷

git reset --soft head^

注: 僅僅是撤回commit操作,您寫的**依然保留。不刪除工作空間改動**。

git reset --hard head^

注:刪除工作空間改動**

git commit之後想修改注釋

git commit --amend

沒有commit想撤銷本地的修改

git checkout .

-n:指定log輸出數量,直接在log命令之後加-n引數即可,n表示要輸出的數量

git log -2

--stat:是在git log的基礎上輸出檔案增刪改的統計資料。

git log -2 --stat

-p:控制輸出每個commit具體修改的內容,輸出的形式以diff的形式給出

git log -1 -p

show:同git log -p輸出類似,只不過它只顯示乙個commit的內容,如果不指定commit hash, 它預設輸出head指向commit的內容.

git show

shortlog:這個命令用來輸出彙總資訊,以作者進行分類。

git shortlog

--author:加–author用來過濾commit,限定輸出給定的使用者

git log --author="michael yang"

^origing:檢視本地commit,但沒有push到遠端庫上的記錄

git log branch_name ^origin/branch_name

orgit status; git cherry -v

--name-only, --name-status:顯示修改檔案列表

git log -2 --name-only

git log -2 --name-status

如何使git log只顯示修改的檔案,不顯示commit id和commit message?

git log --name-only --format=』'

git fetch 過後顯示diff且只顯示檔名

git log --name-only --format=』』 master…origin/master

先檢視某行**的修改記錄

git blame file_name

然後用show檢視具體修改資訊

git show commitid

-n:指定reflog輸出數量,直接在relog命令之後加-n引數即可,n表示要輸出的數量

git reflog -2

--date==iso:顯示時間

git reflog -2 --date=iso

git reflog 原諒鏈結

branch:顯示當前本地的分支資訊,同時會標註當前所在的分支,源資訊儲存。

git branch

checkout:切換branch。

git checkout patch/ss-1.1.1.0

本地新建分支並push到remote

git checkout -b patch/ss-1.1.1.1

git push origin patch/ss-1.1.1.1:patch/ss-1.1.1.1

刪除branch

git branch -d patch/ss-1.1.1.1

git push origin --delete patch/ss-1.1.1.1

git clone git:

cd imdb/

git checkout -b fix_empty_poster

vi readme.md

git commit -m "first commit"

vi readme.md

git commit -m "second commit"

git format-patch master --stdout >fix_empty_poster.patch

git checkout master

git am --signoff < fix_empty_poster.patch

git log -3

從別的branch把commit拿到當前branch

#單獨合併乙個提交

git cherry-pick commithash

#同上,不同點:保留原提交者資訊。

git cherry-pick -x commithash

#git從1.7.2版本開始支援批量cherry-pick,就是一次可以cherry-pick乙個區間的commit。

#start-commithash到end-commithash之間(左開右閉,不包含start-commithash)的提交cherry-pick到當前分支;

git cherry-pick start-commithash..end-commithash

#有"^"標誌的表示把start-commithash到end-commithash之間(閉區間,包含start-commithash)的提交cherry-pick到當前分支。

git cherry-pick start-commithash^..end-commithash

git 為不同的專案設定不同的使用者名稱和郵箱

配置git diff 顯示tab為4個空格

git config user.name "abc"

git config user.email "[email protected]"

git config --global core.pager 'less -x1,5'

然後執行命令檢視config檔案:cat config

從主分支rebase過來

git checkout patch/sss

git rebase master

查詢某個檔案在哪個branch上新加了關鍵字

git branch -r |

xargs -i git blame filename |

grep keyword

Git常用命令總結

原文 author joseph lee e mail fdlixiaojun gmail.com 基礎概念 git是分布式版本控制系統,在每個主機上都儲存這版本庫的完整映象,這於cvs,svn 等集中式版本控制系統不同,集中式版本控制系統僅是在伺服器上儲存有所有資訊。git檔案更改後是以快照的方式...

git常用命令總結

一 分支新建與切換 git中的分支,本質上僅僅是個指向 commit 物件的可變指標。1 新建乙個分支 比如新建乙個名為testing的分支 git branch testing 即是在當前commit物件上新建了乙個分支指標 注 head指向當前所在的分支,用cat git head可以檢視 2 ...

git常用命令總結

檢查git 是否安裝 git 新增git 個人資訊 git config global user.name your name git config global user.email email example.com 建立乙個版本庫 mkdir learngit 建立乙個空目錄 cd learn...