天天看點

Git學習筆記

# Git學習筆記

[學習資料](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)

git init

git status

git log 可以檢視送出曆史

git reset --hard commit_id

git reflog檢視指令曆史

git add . 工作區 -> 暫存區

git commit -m '*' 暫存區 -> 分支上

git checkout -- '*' 撤銷工作區的操作

git reset HEAD * 可以把【暫存區】的修改撤銷掉

場景1:當你改亂了工作區某個檔案的内容,想直接丢棄工作區的修改時,用指令git checkout -- file。

場景2:當你不但改亂了工作區某個檔案的内容,還添加到了暫存區時,想丢棄修改,分兩步,第一步用指令git reset HEAD file,就回到了場景1,第二步按場景1操作。

場景3:已經送出了不合适的修改到版本庫時,想要撤銷本次送出,參考版本回退一節,不過前提是沒有推送到遠端庫。

git clone git@XX

git cloen http@xxx

檢視分支:git branch

建立分支:git branch <name>

切換分支:git checkout <name>

建立+切換分支:git checkout -b <name>

合并某分支到目前分支:git merge <name>

删除分支:git branch -d <name>

git push origin --delete * 删除遠端分支

用git log --graph指令可以看到分支合并圖。

開發一個新feature,最好建立一個分支;

如果要丢棄一個沒有被合并過的分支,可以通過git branch -D <name>強行删除。

指令git tag <name>用于建立一個标簽,預設為HEAD,也可以指定一個commit id;

git tag -a <tagname> -m "blablabla..."可以指定标簽資訊;

git tag -s <tagname> -m "blablabla..."可以用PGP簽名标簽;

指令git tag可以檢視所有标簽。

git push origin v1.0 送出tag

指令git push origin <tagname>可以推送一個本地标簽;

指令git push origin --tags可以推送全部未推送過的本地标簽;

指令git tag -d <tagname>可以删除一個本地标簽;

指令git push origin :refs/tags/<tagname>可以删除一個遠端标簽。

git update-index --assume-unchanged <file>.

git rm --cached -r test_suite/test_.py