一、提交和查看
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區(qū);
第二步是用git commit提交更改,實際上就是把暫存區(qū)的所有內(nèi)容提交到當前分支。
用git status查看一下狀態(tài)
歷史記錄,在Git中,我們用git log命令查看
如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline參數(shù)
Git提供了一個命令git reflog用來記錄你的每一次命令
二、回退和撤銷
HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。
場景1:當你改亂了工作區(qū)某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改時,用命令git checkout -- file。
場景2:當你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。
命令git rm用于刪除一個文件。如果一個文件已經(jīng)被提交到版本庫,那么你永遠不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會丟失最近一次提交后你修改的內(nèi)容。
git checkout其實是用版本庫里的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除,都可以“一鍵還原”。
三、origin
$git?remote?add?origin?git@github.com:michaelliao/learngit.git
要關(guān)聯(lián)一個遠程庫,使用命令git remote add origin git@server-name:path/repo-name.git
關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
Git鼓勵大量使用分支:
查看分支:git branch
創(chuàng)建分支:git branch
切換分支:git checkout
創(chuàng)建+切換分支:git checkout -b
合并某分支到當前分支:git merge
刪除分支:git?branch?-d?
$ git log --graph --pretty=oneline --abbrev-commit
可以查看分支合并圖
修復(fù)bug時,我們會通過創(chuàng)建新的bug分支進行修復(fù),然后合并,最后刪除;
當手頭工作沒有完成時,先把工作現(xiàn)場git?stash一下,然后去修復(fù)bug,修復(fù)后,再git?stash?pop,回到工作現(xiàn)場。
開發(fā)一個新feature,最好新建一個分支;
如果要丟棄一個沒有被合并過的分支,可以通過git?branch?-D?強行刪除。