?
? ????? PHP ??? ???? ??? ?? ??
git-revert - 恢復一些現(xiàn)有的提交
git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>… git revert --continuegit revert --quit git revert --abort
給定一個或多個現(xiàn)有的提交,恢復相關修補程序引入的更改,并記錄一些記錄它們的新提交。這要求你的工作樹是干凈的(不需要修改 HEAD 提交)。
注意:git revert
用于記錄一些新的提交以反轉(zhuǎn)一些早期提交的影響(通常只是錯誤的提交)。如果你想扔掉工作目錄中所有未提交的更改,你應該看到 git-reset [1],特別是--hard
選項。如果你想提取特定文件,就像在另一個提交中那樣,你應該看到 git-checkout [1],特別是git checkout <commit> -- <filename>
語法。請謹慎使用這些替代方法,因為它們都會丟棄工作目錄中的未提交更改。
<commit>…
承諾恢復。有關拼寫提交名稱的更完整列表,請參閱 gitrevisions [7]。提交集也可以給出,但默認情況下不進行遍歷,參見 git-rev-list [1] 及其--no-walk
選項。
-e --edit
使用此選項,git revert
將允許您在提交還原之前編輯提交消息。如果您從終端運行命令,這是默認值。
-m parent-number --mainline parent-number
通常您無法恢復合并,因為您不知道合并的哪一方應被視為主線。此選項指定主線路的父代號碼(從1開始),并允許還原以相對于指定的父代的相反更改。
恢復合并提交聲明您將永遠不希望合并引入的樹更改。因此,稍后的合并只會引入不是先前還原合并的祖先的提交引入的樹更改。這可能是也可能不是你想要的。
有關更多詳細信息,請參閱恢復錯誤合并的方法。
--no-edit
使用此選項,git revert
將不會啟動提交消息編輯器。
-n --no-commit
通常,該命令會自動創(chuàng)建一些提交日志消息,提交哪些提交已恢復。此標志應用必要的更改以將命名的提交恢復到您的工作樹和索引,但不進行提交。此外,使用此選項時,您的索引不必與 HEAD 提交匹配?;貜褪轻槍λ饕拈_始狀態(tài)完成的。
將多個提交的效果還原為連續(xù)的索引時,這非常有用。
-S<keyid> --gpg-sign=<keyid>
GPG 標志提交。該keyid
參數(shù)是可選的,并且默認為提交者身份; 如果指定,它必須粘貼到選項沒有空格。
-s --signoff
在提交消息的末尾添加 Signed-off-by 行。有關更多信息,請參閱 git-commit [1] 中的 signoff 選項。
--strategy=<strategy>
使用給定的合并策略。只能使用一次。有關詳細信息,請參閱 git-merge [1] 中的 MERGE STRATEGIES 部分。
-X<option> --strategy-option=<option>
將合并策略特定選項傳遞給合并策略。有關詳細信息,請參閱 git-merge [1]。
--continue
使用中的信息繼續(xù)正在進行的操作.git/sequencer
??梢栽诮鉀Q失敗的 cherry-pick 或恢復中的沖突后繼續(xù)使用。
--quit
忘記當前正在進行的操作。在 cherry-pick 或恢復失敗后可用于清除音序器狀態(tài)。
--abort
取消操作并返回到預序列狀態(tài)。
git revert HEAD~3
恢復 HEAD 中最后第四次提交指定的更改,并使用恢復的更改創(chuàng)建一個新的提交。
git revert -n master~5..master~2
將提交完成的更改從 master(包含)中的第五次提交恢復為 master(包含)中的第三次提交,但不要使用已還原的更改創(chuàng)建任何提交。恢復只修改工作樹和索引。