簡體   English   中英

為什么git還原我文件系統上的刪除文件?

[英]Why does git revert delete files on my filesystem?

我將一個文件提交到我的本地存儲庫作為撤消我的提交的測試我運行了命令git revert {hash}然后在git的歷史記錄中記錄了一個恢復消息,即Revert "Commit of file 1" This reverts commit {hash}

一旦我運行命令git revert它也從我的工作樹/空間中刪除了該文件。

  1. 為什么刪除文件?
  2. 我試圖通過運行命令git checkout {hash} -- /path/to/recovery來恢復已刪除的文件。 它確實恢復了文件,但不確定是否是這樣做的方式。
  3. 如果我運行命令git status它會顯示正在跟蹤文件1但未提交。 這是為什么?

你可能正在尋找git reset HEAD^ 這將“撤消”最后一次提交,因為你的repo現在處於運行git commit之前的狀態。

另一方面, git revert將撤消提交中的所有更改 因此,如果您還原創建文件的提交,則還原該操作 - >該文件將被刪除。

如果還原刪除的文件,這意味着{hash}你恢復是一樣的{hash}在首位添加的文件。 文件沒有丟失,您可以隨時git checkout {hash} {file}git checkout -b tmpbranch {hash}來獲取文件。 這兩個命令執行不同的操作,有關更多信息,請參閱git help。

您的文件未跟蹤的原因是因為您運行的checkout命令只是創建了一個尚未在您所在的修訂版中簽入的新文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM