ethan
讀完需要
3分鐘 速讀僅需 1 分鐘
每次使用 git 需要進行版本回退相關的操作都要在搜尋引擎重新查詢相關命令,很是費時間,今天有空總結一下,算是記筆記方便以後使用。
1
撤銷本地當前所有修改
git reset --hard
如果本地檔案修改得一團亂,但是還沒有 commit,可以通過這個命令恢復到上次 commit 的狀態。
2
丟棄 commit
git reset --hard commitid
將**恢復到指定的 commitid 處。如果不指定 --hard 引數,那麼不會改變工作區的檔案。(一般使用都會帶上該引數)
3
撤銷 commit
git revert head
commit **以後,你突然意識到這個 commit 有問題,應該撤銷掉,這時執行該命令就可以了。該命令會新生成乙個 commit 提交記錄,並不改變其他內容,在 log 中可檢視到撤銷記錄。基本屬於撤銷操作的首先方案。
該命令還有兩個常用引數
--no-commit:只抵消暫存區和工作區的檔案變化,不產生新的提交。
4
撤銷 add 操作
git reset head [filename]
可選引數
filename 指定撤銷的檔案。(不使用該引數表示所有已經 add 了的檔案全部取消 add 狀態)
5
替換上一次 commit
git commit --amend -m "new message"
如果我們在 commit 之後發現資訊寫錯了,這是可以使用該命令修改資訊。
這時如果暫存區有發生變化的檔案(也就是有檔案被 add 了),會一起提交到倉庫。所以,--amend 不僅可以修改提交資訊,還可以整個把上一次提交替換掉。
6
暫時將未提交的變化移除,稍後再移入
$ git stash$ git stash pop
如果我們在修改了一些檔案後發現不應該在這個分支上操作,那麼我們可以使用 git stash 將當前工作區的檔案儲存一下,然後切換的新分支,執行 git stash pop 將儲存的內容恢復到新分支。
7
時光機
git reflog
只要 head 發生了變化, 就會在 reflog 裡面看得到。
配合 git reset 命令可以將**切換到任意狀態。
8
取消已經 push 的行為(強制 push)
# 查詢 git 所有變化日誌git reflog# 本地倉庫回退到某一版本git reset -hard ***x# 強制 push,此時遠端分支已經恢復成指定的 commit 了git push origin master --force
git 撤銷已經git add的檔案
git add 操作時,有時會誤新增一些不想提交的檔案,如何解決?1 誤add單個檔案 git reset head 將file退回到unstage區 2 誤add多個檔案,只撤銷部分檔案 git reset head 將file退回到unstage區 git rm 與 git reset的區別 g...
git add 資料夾 Git初級使用
專案安全性不能保證。專案版本過多,導致混亂。無法進行版本回退。進行協同開發比較困難。git 是一款分布式的版本控制及協同開發工具 系統 版本控制工具的分類。集中式的版本控制工具。svn分布式的版本控制工具。git 雙擊安裝程式。打卡git bash 彈出命令視窗自報家門 git config glo...
git add 刪除檔案 Git工具常用操作
git 提交 到分支 git branch 本地分支 d 刪除分支 a 本地和遠端所有分支 git checkout 切換到分支 b 新建分支 git status 檢視有多少存在差異的 檔案 git diff 檢視當前分支和遠端差別 git add 把要提交的 加入快取 新增所有變化,包括修改和新...