1.檢視本地修改
git diff .git commit之後想撤銷
git reset --soft head^git commit之後想修改注釋注: 僅僅是撤回commit操作,您寫的**依然保留。不刪除工作空間改動**。
git reset --hard head^
注:刪除工作空間改動**
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_nameorgit status; git cherry -v
--name-only, --name-status:
顯示修改檔案列表
git log -2 --name-onlygit 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=isogit 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刪除branchgit push origin patch/ss-1.1.1.1:patch/ss-1.1.1.1
git branch -d patch/ss-1.1.1.1git 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...