亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何按日期在Git中結帳?

如何按日期在Git中結帳?

Git
波斯汪 2019-11-05 11:16:18
我正在源代碼中進行回歸。我想告訴Git:“根據參數化的日期/時間檢出源”。這可能嗎?我也根據我當前的觀點上演了一些不想失去的更改。理想情況下,我想在當前來源和我之前感興趣的某個版本之間來回切換。
查看完整描述

3 回答

?
慕田峪4524236

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。那就是你通常想要的。


查看完整回答
反對 回復 2019-11-05
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

安迪的解決方案對我不起作用。在這里,我找到了另一種方法:


git checkout `git rev-list -n 1 --before="2009-07-27 13:37" master`


查看完整回答
反對 回復 2019-11-05
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

看來您需要以下內容: 基于日期的Git結帳


換句話說,您用于rev-list查找提交,然后使用檢出來實際獲取它。


如果您不想丟失分階段的更改,最簡單的方法是創建一個新分支并將其提交到該分支。您始終可以在分支之間來回切換。


編輯:鏈接已關閉,所以這是命令:


git checkout `git rev-list -n 1 --before="2009-07-27 13:37" master`


查看完整回答
反對 回復 2019-11-05
  • 3 回答
  • 0 關注
  • 450 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號