git 提交 忽略 不想要提交的内容

转自:http://www.xuebuyuan.com/1225497.html,有改动

某工程project用Git管理代码,但是在他的根目录下有个配置文件,比如project.iws是不需要git每次跟踪它的修改记录的。

一般做法是在.gitignore文件中添加一行

project.iws

但是这个文件如果之前已经被git跟踪了,这样修改是没有用的。每次修改完以后,用git status还是能看到提示它被修改了。

 

解决办法就是在git中删除这个文件的跟踪记录,用这个命令

git rm --cached project.iws

这样就从git的跟踪记录中删除了这个文件的跟踪记录。配合之前在.gitignore加的那行配置,以后你修改 project.iws 这个文件,git就不会有提示了。

 

 相似地,如果想要在git版本库总删除某个目录的跟踪,用此命令

git rm --cached /app/bin/ -r

这句话的意思是递归地删除/app/bin/目录下的所有跟踪记录 -r参数表示递归  不加会报错

================================================

http://www.istar.name/blog/git-gitignore

如果某些文件已经被跟踪了, 再放入到.gitinore可能会失效, 用以下命令来忽略
git update-index --assume-unchanged filename

撤销用:
git update-index --no-assume-unchanged filename

以下内容转自: http://blog.csdn.net/benkaoya/article/details/7932370

【方式一】

在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示。

.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。

 

 

 

【方式二】

       通过配置.git/info/exclude文件来忽略文件。这种方式对仓库全局有效,只能对自己本地仓库有作用,其他人没办法通过这种方式来共享忽略规则,除非他人也修改其本地仓库的该文件。

 

【方式三】

       通过.git/config配置文件的core. Excludesfile选项,指定一个忽略规则文件(完整路径),如下图所示。忽略规则在文件e:/gitignore.txt中(当然该文件名可以任意取)。

       该方式的作用域是也全局的。

 

【例子】

# 忽略*.o和*.a文件

 *.[oa]

# 忽略*.b和*.B文件,my.b除外

*.[bB]

!my.b

# 忽略dbg文件和dbg目录

dbg

# 只忽略dbg目录,不忽略dbg文件

dbg/

# 只忽略dbg文件,不忽略dbg目录

dbg

!dbg/

# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内

/dbg

posted @ 2015-04-23 11:10  tkbSimplest  阅读(793)  评论(0)    收藏  举报