layout: post
title: "git取消对某个文件的跟踪"
date: 2016-08-05 23:05:25 +0800
comments: true
categories: [git]
git取消对某个文件的跟踪
最近使用git协同开发,和以前自己一个人用不同,老是出现各种各样的问题。感觉想把Git用好还是很难。
我们在解决问题的过程中,发现很多时候的冲突其实是因为我们没有对git的机制理解透彻。
最近遇到的一个问题是,我们建立了.gitignore但是发现这个文件忽略过的文件还是会被push。后来发现这个文件只对没有被git commit 过的文件有效,也就是说如果你的文件被commit过后你再建立gitignore,这个时候gitignore对这个文件是无效的。
这个时候就需要取消对某个文件的跟踪。
git rm --cached somefile
git commit -m "remove somefile added by mistake"
如果是目录在rm 后面加上 -r
这个命令并不会删除这个文件。