1. 創(chuàng)建版本庫
- 創(chuàng)建版本庫: git init
- 添加:git add .
- 提交:git commit —amend 或者 git commit -m "備注描述"
2. 查看或切換版本
- 查看之前的不同的版本:git diff
- 回退版本:git reset --hard HEAD^ 或者 git rest --hard commitId
- 是上一個版本、^是上上一個版本、跨度大的話 HEAD~100或者g(版本號是一個十六進(jìn)制的數(shù))
- 查看提交歷史:git log
- 如果嫌輸出信息太多,看得眼花繚亂的,可以試試加 上--pretty=oneline參數(shù)
- 查看命令歷史:git reflog
- 當(dāng)你改亂了工作區(qū)某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改時,用命令:git checkout -- file。
- 當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,第二步用命令git checkout -- file
- 從版本庫中刪除文件:git rm,并且git commit
3. 遠(yuǎn)程倉庫
- 要關(guān)聯(lián)一個遠(yuǎn)程倉庫:git remote add origin git@server-name:path/repo-name.git
- 第一次推送master分支的所有內(nèi)容:git push -u origin master
- 推送最新修改:git push origin master
- 從遠(yuǎn)程克?。?strong>git clone git@server-name:path/repo-name.git
- 查看遠(yuǎn)程庫信息:git remote -v
4. 分支管理
- 查看分支:git branch
- 創(chuàng)建+切換分支:git checkout -b <name>
- 合并某分支到當(dāng)前分支:git merge <name>
- 刪除分支:git branch -d <name>
- 查看分支合并圖:**git log —graph **
- 合并分支時,采用普通模式,能看出來曾經(jīng)做過合并:git merge --no-ff -m "merge with no-ff” dev
- 當(dāng)手頭工作沒有完成時,先把工作現(xiàn)場:git stash,然后去修復(fù)bug,修復(fù)后,再git stash pop或者git stash apply
- 開發(fā)一個新feature,最好新建一個分支,如果要丟棄一個沒有被合并過的分支,可以通過git branch -D <name>刪除分支
- 從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交
- 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支,使用git checkout -b branch-name origin/branch-name
- 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián),使用git branch —set-upstream branch-name origin/branch-name
- 從遠(yuǎn)程抓取分支,使用git pull,如果有沖突,要先處理沖突
5. 創(chuàng)建標(biāo)簽命令
- git tag <name>用于新建一個標(biāo)簽,默認(rèn)為HEAD,也可以指定一個commit id
- 可以指定標(biāo)簽信息:git tag -a <tagname> -m "blablabla..."
- 可以用PGP簽名標(biāo)簽:git tag -s <tagname> -m "blablabla..."
- 可以查看所有標(biāo)簽:git tag
- 推送一個本地標(biāo)簽:git push origin <tagname>
- 推送全部未推送過的本地標(biāo)簽:git push origin --tags
- 刪除一個本地標(biāo)簽:git tag -d <tagname>
- 刪除一個遠(yuǎn)程標(biāo)簽:git push origin :refs/tags/<tagname>
以上內(nèi)容參考自Git教程-廖雪峰的官方網(wǎng)站