Git 指令整理備用
- 丟棄工作區(qū)修改:
git checkout -- file
-
git checkout其實(shí)是用版本庫(kù)里的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除,都可以“一鍵還原”
- 丟棄暫存區(qū)修改:
git reset HEAD file - 版本回退 (未推送到遠(yuǎn)程庫(kù)):
git reset --hard commit_id - 查看提交歷史:
git log - 查看命令歷史:
git reflog
- 查看當(dāng)前分支:
git branch - 創(chuàng)建分支:
git branch <name> - 切換到分支:
git checkout <name> - 創(chuàng)建 + 切換到分支:
git checkout -b <name> - 合并指定分支到當(dāng)前分支 (如: 當(dāng)前在 master, 合并 dev):
git merge dev - 普通合并:
git merge --no-ff <name>
- 加上
--no-ff合并后的歷史有分支,fast forward合并后看不出來做過合并
- 刪除分支:
git branch -d <name>
- 強(qiáng)行刪除:
git branch -D <name>
- 查看分支合并圖 (可帶參數(shù)):
git log --graph[ --pretty=oneline --abbrev-commit]
- 修復(fù) bug 時(shí)臨時(shí)儲(chǔ)存工作區(qū)未增加、提交內(nèi)容:
git stash - 恢復(fù) stash 并刪除:
git stash pop - 查看臨時(shí)儲(chǔ)存的內(nèi)容:
git stash list - 恢復(fù)臨時(shí)儲(chǔ)存但不刪除 stash:
git stash apply
- 多次 stash 恢復(fù):
git stash apply stash@{序號(hào)},序號(hào)通過git stash list查看
- 刪除 stash:
git stash drop
- 查看遠(yuǎn)程庫(kù)信息:
git remote -v - 從本地推送分支:
git push origin <branch-name>,如果推送失敗,先用git pull抓取遠(yuǎn)程更新提交 - 在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(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>
- 新建標(biāo)簽:
git tag <name>
- 可在后面指定一個(gè) commit id, 通過
git log --pretty=oneline --abbrev-commit查看 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 show <tagname> - 推送一個(gè)本地標(biāo)簽:
git push origin <tagname> - 推送全部未推送過的本地標(biāo)簽:
git push origin --tags - 刪除一個(gè)本地標(biāo)簽:
git tag -d <tagname> - 刪除一個(gè)遠(yuǎn)程標(biāo)簽:
git push origin :refs/tags/<tagname>