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

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

github是否記得提交ID?

github是否記得提交ID?

Git
炎炎設計 2019-12-04 11:12:49
幾天以來,我為Scrollback項目重寫了install.sh文件,由于我是唯一在本地進行此工作的人,因此我一直在提交與修改相同的提交,不斷地將其推送到fork的主服務器。(請忽略此處的最佳做法,我一個人工作)。在這兩次之間,我記得通過電子郵件向顯示我已完成一半工作的人發送了電子郵件,網址為https://github.com/sindhus/scrollback/blob/8d8f7f414383499c2ab6fec586b4c9665a41c7aa/install.sh現在,由于某種困惑,我在本地的工作上迷失了方向(想想rm -rf),我記得在此之前我曾提出過建議。所以github在某個時候確實看到了我的install.sh重新提交的提交ID。如您所見,上面的URL使我可以通過提交ID訪問該Blob。但是我無法在本地訪問它,因為該回購被強行推送。我的問題是如何獲取github向我顯示文件EVER的所有提交ID?它可能知道該文件的所有ID,而與路徑無關。如果我必須使用他們的API,我不在乎,但我希望一些想法可以對此進行深入研究。謝謝!
查看完整描述

3 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

我不確定是否有一種方法可以跨修訂的提交獲取文件的所有版本。但是,reflog將包含有關較早版本的信息,您可以手動提取它們。下面是一個示例。


這是我的第一次承諾


echo "a" > a.txt && git add a.txt && git commit -m "Version 0"

之后,再進行一些修改。


% echo "aa" > a.txt && git add a.txt && git commit --amend -m "Version 1"

% echo "aaa" > a.txt && git add a.txt && git commit --amend -m "Version 2"

% echo "aaaa" > a.txt && git add a.txt && git commit --amend -m "Version 3"

% echo "aaaaa" > a.txt && git add a.txt && git commit --amend -m "Version 4"

雖然我的日志只有一個條目


%git log --oneline a8d6c39版本4


我的reflog擁有一切


% git reflog master

a8d6c39 master@{0}: commit (amend): Version 4

cf87b8f master@{1}: commit (amend): Version 3

c45a91e master@{2}: commit (amend): Version 2

63c7f5a master@{3}: commit (amend): Version 1

f2b3336 master@{4}: commit (initial): Version 0

因此,如果您想查看版本4,版本3等文件的外觀,可以執行此操作


% git show a8d6c39:a.txt

aaaaa

% git show cf87b8f:a.txt

aaaa

% git show c45a91e:a.txt

aaa

% git show 63c7f5a:a.txt

aa

% git show f2b3336:a.txt

a

通常,即使您是唯一的開發人員,連續修改的“過程”也是不好的。您應該做的是一次性的事情,以糾正上一次提交的錯誤。


查看完整回答
反對 回復 2019-12-04
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

我沒有真正得到這個問題,所以有一些解決方案:


要查看特定文件的所有提交,請執行以下操作: git log --follow filename。


要簽出舊版本,請在此處找到答案


查看完整回答
反對 回復 2019-12-04
  • 3 回答
  • 0 關注
  • 721 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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