git 編輯提交的技巧

我剛才提交了什么?
如果你用 git commit -m 'xxxxxxx' 提交了一次變化,而你又不確定到底這次提交了哪些內(nèi)容。你就可以用下面的命令顯示當(dāng)前 HEAD 上的最近一次的提交:
git show或者
git log -n1 -p我的提交信息寫錯了
如果你的提交信息寫錯了且這次提交還沒有推(push), 你可以通過下面的方法來修改提交信息:
git commit --amend --only這會打開你的默認(rèn)編輯器 vi, 在這里你可以編輯信息。另一方面, 你也可以用一條命令一次完成:
git commit --amend --only -m 'xxxxxxx'如果你已經(jīng)推(push)了這次提交, 你可以修改這次提交然后強(qiáng)推(force push),但是不推薦這么做。因?yàn)楹苡锌赡苄枰喜_突。
新的提交代替舊的,所以如果之前你已經(jīng)往遠(yuǎn)程倉庫上推過一次修正前的提交,那你現(xiàn)在就必須強(qiáng)推(force push) (-f)。
一般來說,要避免強(qiáng)推。最好是創(chuàng)建和推(push)一個新的提交,而不是強(qiáng)推一個修正后的提交。后者會使那些與該分支或該分支的子分支工作的開發(fā)者,在源歷史中產(chǎn)生沖突。
我提交的用戶名和郵箱不對
如果這只是單個提交,修改它:
git commit --amend --author "New Authorname @mydomain .com>"但是不推薦修改所有歷史。
刪除任意一次提交
同樣的警告:不到萬不得已的時候不要這么做。
git revert commitID使用 revert 會生成一條新的提交記錄。如果你刪除之后又想找回,可以再次使用 revert 。把 ID 換成 revert 提交記錄的 ID 就可以了。
reset 重置后找回
如果意外的做了一次硬重置,想找回之前的內(nèi)容。
git reset --hard commitID因?yàn)?Git 對每件事都會有日志,且都會保存幾天。
git reflog你將會看到一個你過去提交的列表,和一個重置的提交。選擇你想要回到的提交的 ID,再重置一次:
git reset --hard SHA1234這樣就完成了。
評論
圖片
表情
