git 命令常見用法

1. git的配置

配置提交信息

git config --global user.name w_xue

git config --global user.email [email protected]

配置顏色

git config --global color.ui true

配置命令別名

git config --global alias.st status

配置比較工具(bc3爲beyond compare3的入口鏈接)

git config --global diff.tool bc3

git config --global difftool.prompt false


2.提交

跟蹤新添加的文件

git add a.txt

取消跟蹤文件

git rm a.txt


由工作區修改提交到暫存區

git add a.txt

由暫存區提交到倉庫區

git commit -m "modify a.txt"

修改上次提交信息

git commit --amend


取消暫存,回到工作區修改狀態

git reset -- a.txt

取消修改,回到工作區未修改狀態

git checkout -- a.txt


3. 查看修改

工作區未暫存的修改

git diff

已經提交到暫存區所做的修改

git diff --staged

工作區所做的所有修改

git diff HEAD


4.分支操作

查看分支

git branch

創建新的跟蹤分支

git checkout -b branchname

切換分支

git checkout branchname

刪除分支

git branch -D branchname


5. reset操作

將HEAD強制指向其它commit

git reset --hard huehdkdu24

將HEAD強制指向其它commit,同時保留工作區的改動

git reset --mixed huehdkdu24

將HEAD強制指向其它commit,同時暫存工作區的改動

git reset --soft huehdkdu24


6. cherry-pick

apply一個存在的commit

git cherry-pick commit-id

例如現有commit id: a, b, c, d, e ,需要將cd合併爲一個commit,步驟如下

新建一個分支: git checkout -b local

回到d:git reset --hard d

回到b,同時保留工作區修改: git reset --soft b

提交: git commit -m "cd"

apply缺失的commit :git cherry-pick e


7. checkout

回到某次commit或者將某個文件恢復到某次commit的狀態

git checkout commit-id file-name

例如現有commit  id: a, b, c, d, e,在d中將文件a.txt做了錯誤修改,需要將這個文件恢復

checkout出修改前的文件: git checkout c a.txt

提交修改: git commit -m "修復對文件a.txt的錯誤修改"


8. 比較commit差異(先配置difftool爲beyond compare)

git difftool commit1 commit2 file_path &


9. 後悔某次提交

現有提交a->b->c->d,突然發現提交c是多餘的,但是已經push到服務器上去,此時最好的做法是添加一個commit e,效果抵消掉c

git checkout -b c

git revert HEAD

這時提交會變爲a->b->c->e

其中e即爲c的反操作

發佈了56 篇原創文章 · 獲贊 12 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章