3 回答

TA貢獻1875條經驗 獲得超5個贊
保持當前更改
您可以使用保留工作,而無需提交git stash。您會習慣于git stash pop將其取回。或者,您可以(如carleeto所說)將git commit其轉移到另一個分支。
使用rev-parse按日期結帳
您可以使用以下命令在特定日期之前簽出提交rev-parse:
git checkout 'master@{1979-02-26 18:30:00}'
有關可用選項的更多詳細信息,請參見git-rev-parse。
如評論中所述,此方法使用reflog在歷史記錄中查找提交。默認情況下,這些條目在90天后過期。盡管使用reflog的語法不太冗長,但您只能追溯到90天。
使用rev-list按日期簽出
另一個不使用reflog的選項是,使用以下命令rev-list在特定時間點獲取提交:
git checkout `git rev-list -n 1 --first-parent --before="2009-07-27 13:37" master`
如果只想要歷史記錄,而不想要合并帶來的版本,請注意--first-parent。那就是你通常想要的。

TA貢獻1804條經驗 獲得超2個贊
安迪的解決方案對我不起作用。在這里,我找到了另一種方法:
git checkout `git rev-list -n 1 --before="2009-07-27 13:37" master`

TA貢獻1836條經驗 獲得超4個贊
看來您需要以下內容: 基于日期的Git結帳
換句話說,您用于rev-list查找提交,然后使用檢出來實際獲取它。
如果您不想丟失分階段的更改,最簡單的方法是創建一個新分支并將其提交到該分支。您始終可以在分支之間來回切換。
編輯:鏈接已關閉,所以這是命令:
git checkout `git rev-list -n 1 --before="2009-07-27 13:37" master`
- 3 回答
- 0 關注
- 450 瀏覽
添加回答
舉報