使用Git編輯項(xiàng)目歷史記錄

2018-12-20 10:44 更新

Git 允許您編輯您的項(xiàng)目歷史,如果在某一時(shí)刻您需要重寫您的提交,就像您以不同的方式創(chuàng)建它們一樣。

將分階段的更改與以前的提交合并(修改提交)

有時(shí)您可能會(huì)發(fā)現(xiàn)自己處于這樣的情況:過早地提交了一些文件,或者忘記了在最后一次提交中要修復(fù)的錯(cuò)誤,而沒有將其反映在項(xiàng)目歷史記錄中。

IntelliJ IDEA允許您通過使用"修改提交(Amend commit)"選項(xiàng)將以前的提交與當(dāng)前的更改組合在一起,然后結(jié)束單個(gè)提交而不是兩個(gè)不同的提交。

要修改以前的提交內(nèi)容,請(qǐng)執(zhí)行以下操作:

  1. 調(diào)用"提交更改(Commit changes)"對(duì)話框,并選擇要用于修復(fù)前一個(gè)提交的更改。
  2. 按下Ctrl+K,單擊工具欄上的 ,或從上下文菜單中選擇“提交(Commit)”。
  3. 在打開的“提交更改”對(duì)話框中,在提交更改之前,選擇右側(cè)的“修訂提交(Amend commit)”選項(xiàng)。

編輯提交消息

Note:編輯提交消息此操作只能應(yīng)用到尚未被推送的提交。

如果您唯一需要更改的是提交消息,則可以在不進(jìn)行任何其他更改的情況下對(duì)其進(jìn)行編輯:

  1. 在“日志”視圖中找到要編輯其消息的提交,右鍵單擊該提交,然后從上下文菜單中選擇“重新輸入”,或按F2。
  2. 在打開的對(duì)話框中,輸入新的提交信息,然后單擊確定。

通過執(zhí)行交互式的rebase編輯項(xiàng)目歷史記錄

注意:請(qǐng)記住,重寫提交歷史記錄可能會(huì)導(dǎo)致數(shù)據(jù)丟失。

Git允許您編輯項(xiàng)目歷史記錄,以便通過執(zhí)行交互式rebase分配來(lái)使其成為線性和有意義的。這允許您通過修改個(gè)別提交、改變它們的順序、將提交內(nèi)容壓縮為一個(gè)、跳過包含無(wú)關(guān)改變的提交等來(lái)清理雜亂的提交歷史,然后再將功能分支的更改集成到另一個(gè)分支。

編輯當(dāng)前分支的歷史記錄

IntelliJ IDEA允許您在將更改應(yīng)用到其他分支之前編輯當(dāng)前分支中的一系列最近的提交 。

  1. 在“版本控制工具”窗口的“日志”選項(xiàng)卡中,選擇要編輯的一系列提交中最舊的提交,右鍵單擊該提交,然后選擇“從這里交互式重定向(Interactively Rebase from Here)”。將顯示 “Interactive Rebase”對(duì)話框,其中包含在選定提交后所做的當(dāng)前分支中的所有提交的列表。
  2. 使用“操作”下拉列表將以下操作應(yīng)用于提交:
    • Pick:按原樣應(yīng)用選定的提交。
    • Edit:選擇此選項(xiàng)以在應(yīng)用此提交之前編輯受此提交或提交消息影響的文件。
    • Skip:忽略選定的提交。
    • Squash:選擇此選項(xiàng)將選定的提交與前一個(gè)提交相結(jié)合。
    • Reword:選擇此選項(xiàng)以在應(yīng)用此提交之前編輯提交消息。
    • Fixup:選擇此選項(xiàng)可將選定的提交與前一個(gè)提交相結(jié)合,并從之前提交的消息使用“fixup”前綴。
  3. 使用“上移”和“下移”按鈕來(lái)修改應(yīng)用提交的順序。

編輯分支歷史記錄并將其集成到另一個(gè)分支

IntelliJ IDEA允許您在應(yīng)用更改之前rebase其他分支頂部的分支并編輯源分支歷史記錄。

  1. 從主菜單中選擇:VCS | Git | Rebase。
  2. 在“Branch”字段中選擇要分叉的分支,并在“Onto”字段中選擇目標(biāo)分支。
  3. 在“From”字段中,選擇要將選定分支應(yīng)用于新基準(zhǔn)的提交。
  4. 確保已選中“交互(Interactive)”選項(xiàng),然后單擊“重新分配(Rebase)”。將顯示“Interactive Rebase”對(duì)話框,其中包含在選定提交后所做的當(dāng)前分支中的所有提交的列表。
  5. 使用“操作(Action)”下拉列表將以下操作應(yīng)用于提交:
    • Pick:按原樣應(yīng)用選定的提交。
    • Edit:選擇此選項(xiàng)以在應(yīng)用此提交之前編輯受此提交或提交消息影響的文件。
    • Skip:忽略選定的提交。
    • Squash:選擇此選項(xiàng)將選定的提交與前一個(gè)提交相結(jié)合。
    • Reword:選擇此選項(xiàng)以在應(yīng)用此提交之前編輯提交消息。
    • Fixup:選擇此選項(xiàng)可將選定的提交與前一個(gè)提交相結(jié)合,并從之前提交的消息使用“fixup”前綴。
  6. 使用“上移”和“下移”按鈕來(lái)修改應(yīng)用提交的順序。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)