3 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個贊
更新:
由于對跟蹤分支的創(chuàng)建和推送方式進(jìn)行了更改,因此我不再建議重命名分支。這是我現(xiàn)在建議的內(nèi)容:
復(fù)制分支的當(dāng)前狀態(tài):
git branch crazyexperiment
(該git branch <name>命令將使您的當(dāng)前分支仍處于檢出狀態(tài)。)
使用以下命令將當(dāng)前分支重置為所需的提交git reset:
git reset --hard c2e7af2b51
(替換c2e7af2b51為您要返回的提交。)
當(dāng)您確定瘋狂的實(shí)驗(yàn)分支不包含任何有用的內(nèi)容時,可以使用以下方法將其刪除:
git branch -D crazyexperiment
當(dāng)您開始使用歷史記錄修改git命令(重置,重新設(shè)置基準(zhǔn))以在運(yùn)行備份分支之前創(chuàng)建備份分支時,它總是很好。最終,一旦您感到舒適,就不會覺得有必要。如果您確實(shí)以不需要的方式修改歷史記錄,并且尚未創(chuàng)建備份分支,請查看git reflog。即使沒有分支或標(biāo)記指向它們,Git也會使提交保持一段時間。
原始答案:
與該git reset --hard方法相比,一種更不那么恐怖的方法是創(chuàng)建一個新分支。假設(shè)您在master分支上,并且要返回的提交是c2e7af2b51。
重命名當(dāng)前的master分支:
git branch -m crazyexperiment
查看您的良好承諾:
git checkout c2e7af2b51
在這里建立新的master分支:
git checkout -b master
現(xiàn)在,如果您以后要查看它,您仍然可以進(jìn)行瘋狂的實(shí)驗(yàn),但是您的master分支又回到了您的最后一個已知的好時機(jī),隨時可以添加。如果您確實(shí)想放棄實(shí)驗(yàn),可以使用:
git branch -D crazyexperiment

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個贊
當(dāng)您說“ GUI工具”時,我假設(shè)您正在使用Windows的Git。
重要提示,我強(qiáng)烈建議您創(chuàng)建一個新分支(如果尚未執(zhí)行此操作)。這樣,在測試變更時,您的主人可以保持不變。
使用GUI,您需要像在視圖右側(cè)的歷史一樣“回退此提交”。然后,您會注意到您已將所有不需要的文件作為更改提交到左側(cè)。現(xiàn)在,您需要右鍵單擊所有未提交的文件上方的灰色標(biāo)題,然后選擇“忽略更改”。這會將您的文件恢復(fù)為該版本的文件。
- 3 回答
- 0 關(guān)注
- 1266 瀏覽
添加回答
舉報(bào)