在git中,刪除也是乙個修改操作,我們實戰一下,先新增乙個新檔案test.txt到git並且提交:
$ git add test.txt
$ git commit -m "add test.txt"
[master 94cdc44] add test.txt
1 file changed, 1 insertion(+)
create mode 100644 test.txt
一般情況下,你通常直接在檔案管理器中把沒用的檔案刪了,或者用rm
命令刪了:
$ rm test.txt
這個時候,git知道你刪除了檔案,因此,工作區和版本庫就不一致了,git status
命令會立刻告訴你哪些檔案被刪除了:
$ git status
# on branch master
# changes not staged for commit:
# (use "git add/rm ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
## deleted: test.txt
#no changes added to commit (use "git add" and/or "git commit -a")
現在你有兩個選擇,一是確實要從版本庫中刪除該檔案,那就用命令git rm
刪掉,並且git commit
:
$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
現在,檔案就從版本庫中被刪除了。
另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:
$ git checkout -- test.txt
git checkout
其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」。
注意:命令git rm
用於刪除乙個檔案。如果乙個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是
要小心,你只能恢復檔案到最新版本,你會丟失最近一次提交後你修改的內容。
git檔案刪除操作
轉 比如,專案的控制檔案,一般是不上傳的,現在我使用webstorm,它的.idea目錄,有時候會錯誤的上傳到遠端庫中。刪除的步驟如下。將本地.idea目錄改名,這個步驟適合於不是你push該目錄,是別人上傳的 mv idea idea back 如果是自己push的,可略過上面步驟。刪除.idea...
Git專案管理之分支操作
在版本回退的章節裡,每次提交後都會有記錄,git 把它們串成時間線,形成類似於時間軸的東西,這個時間軸就是乙個分支,我們稱之為master分支。在開發的時候往往是團隊協作,多人進行開發,因此光有一乙個分支是無法滿足多人同時開發的需求的,並且在分支上工作並不影響其他分支的正常使用,會更加安全,git ...
Git 刪除操作
tom 更新了自己的本地儲存庫並進入src目錄下找到編譯後的二進位制。檢視提交資訊後,他意識到,編譯後的二進位制是由jerry加入的。tom centos src pwd home tom project src tom centos src ls makefile string operation...