這可能之前已經問過,但我似乎無法在其他地方在Stackoverflow或Interweb上找到類似的問題。我正在學習git並試圖圍繞這些概念進行研究。刪除混帳提交併刪除它的所有記錄
我遇到的問題是如何從我的工作目錄或樹中刪除文件或目錄,並刪除其「歷史記錄」。我還沒有開始將文件推送到任何遠程存儲庫。
我開始如下;
- 貓> FILE1.TXT
- 混帳添加FILE1.TXT
- git的承諾-m 「文件1提交」
- RM FILE1.TXT
- git的狀態顯示我的信息不改變上演對於承諾:刪除:FILE1.TXT
問題
- git rm和rm有什麼區別?我的理解是前者在git的歷史記錄中創建刪除記錄
- 刪除文件是否總是記錄在git的歷史記錄中?
- 如何刪除文件以及提交歷史記錄?
- 如果我有多個提交,這會有什麼不同?
- 我可以運行什麼問題來刪除提交?
當你說跟蹤,我假設你的意思是我已經運行了命令'git add {filename}。如果我還沒有實施它,但已經上演它,它還會被保存在歷史中嗎?我會認爲它不會。你能詳細說明南瓜嗎? 「與修改文件的提交衝突」是什麼意思? – PeanutsMonkey
1.如果您還沒有提交,除索引外沒有跟蹤。你可以用「git rm --cached」來獲取它。 2.壓縮意味着編輯歷史以將兩個提交合併爲一個提交。 3.如果您在提交A中添加了一個文件,並在提交C中將其刪除,然後將它們壓縮在一起,則如果提交B包含對文件的編輯,則會與提交B發生衝突。 –
謝謝。我假設在Commit C中刪除它只會在我對該文件進行更改時纔會發生。如果我在提交A中刪除了該文件會怎麼樣?其次爲什麼我想要將提交合併爲單個提交? – PeanutsMonkey