深入理解Git原理 移除檔案

2021-09-09 05:45:49 字數 926 閱讀 2180

如果是在檔案還未納入 git 的管理時就不想跟蹤該檔案,可以在.gitignore檔案中加入該檔案的模式。

如果檔案已經納入 git 的管理,此時要從 git 中移除某個檔案,就必須要從已跟蹤檔案清單中移除(確切地說,是從暫存區域移除),然後提交。 可以用git rm命令完成此項工作,並連帶從工作目錄中刪除指定的檔案,這樣以後就不會出現在未跟蹤檔案清單中了。比如:

$ rm projects.md

$ git

rm projects.md

rm'projects.md'

$ git status

on branch master

changes to be committed:

(use "git reset head ..." to unstage)

deleted: projects.md

另外一種情況是,我們想把檔案從 git 倉庫中刪除(亦即從暫存區域移除),但仍然希望保留在當前工作目錄中。 換句話說,你想讓檔案保留在磁碟,但是並不想讓 git 繼續跟蹤。 當你忘記新增.gitignore檔案,不小心把乙個很大的日誌檔案或一堆.a這樣的編譯生成檔案新增到暫存區時,這一做法尤其有用。 為達到這一目的,使用--cached選項:

$ git

rm --cached readme

git rm命令後面可以列出檔案或者目錄的名字,也可以使用glob模式。 比方說:

$ git

rm \*.pyc

該命令為刪除以.pyc結尾的所有檔案。

2019-01-14

深入理解Git原理 祖先引用

祖先引用是一種指明乙個提交的方式。如果你在引用的尾部加上乙個 git 會將其解析為該引用的上乙個提交。假設你的提交歷史是 git log pretty format h s graph 734713b fixed refs handling,added gc auto,updated tests d...

深入理解Git原理 附註標籤

git 使用兩種主要型別的標籤 輕量標籤與附註標籤。通常我們使用的是輕量標籤,乙個輕量標籤很像乙個不會改變的分支,它只是乙個特定提交的引用,本質上是將提交校驗和儲存到乙個檔案中,沒有儲存任何其他資訊。建立輕量標籤,只需要提供標籤名字 git tag v1.4 git tag v0.1 v1.0 v1...

深入理解simhash原理

lsh locality sensitive hashing 是區域性敏感性hashing,它與傳統的hash是不同的。傳統hash的目的是希望得到o 1 的查詢效能,將原始資料對映到相應的桶內。lsh的基本思想是將空間中原始資料相鄰的2個資料點通過對映或者投影變換後,這兩個資料點在新的空間中的相鄰...