2017-08-14 16 views
0

我該如何回到以前的版本?例如回到7月30日的狀態?回到Github時光?

​​

+0

「回去」是什麼意思?你想永久地回到這個提交? –

+0

是恢復到7月30日提交 – user2277916

回答

1

有許多方法可以撤消功能系列在Git中提交的。但考慮到有關分支已經發布,並可能由多人共享,我建議在這裏使用git revertgit revert增加新的提交在當前分支的頂部,撤銷以前的提交。這些恢復提交可以被認爲是以前提交中完成的鏡像。像這樣的東西應該工作:

git revert 00bfe1b^..a013402 

這應該加兩次提交,一個撤消8 - 9提交和一個撤消月13提交。

作爲一個側面說明,你可以也做到了這一點:

git reset --hard HEAD~2 

這已經完全核爆於07月30上方的兩次提交。 但是,這涉及重寫分支的歷史記錄,如果其他人可能已經與您共享此分支,這是不可取的。在這種情況下,請安全使用git revert

+0

我是否在終端輸入這個? (對不起,這是新的)。也應該「00bfe1b^.. a013402」< - 這部分看起來像?謝謝你的幫助。 – user2277916

+0

@ user2277916我給你的答案是打算從Git bash中完成_locally_。你可以從GitHub網站上做到這一點,但我不會親自這樣做。只需檢查你的分支,然後像我一樣使用'git revert'。然後,將你的分支推送到GitHub。 –

+0

嘿謝謝你的回答。你在哪裏找到這個值:00bfe1b^.. a013402? – user2277916

0

若要查看(瀏覽文件樹)庫狀態一定提交給至少提交的哈希值的前四個字符,GitHub上的以下URL模式都可以使用(在寫作的時候):

https://github.com/{username}/{repository name}/tree/{hash}

如果你想您的GitHub庫恢復到一個特定的承諾,做當地的一個git reset --hard {hash}(存儲在計算機上),那麼倉庫強制通過git push --force它推到遠程存儲庫(如GitHub的)。

當然,硬復位是危險的。您可以使用git revertgit resetstash未暫存的更改,並且我確定有其他方法可以實現類似的效果。