如果是在檔案還未納入 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個資料點通過對映或者投影變換後,這兩個資料點在新的空間中的相鄰...