本文主要是介绍git版本控制之忽略规则.gitignore,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
git版本控制之忽略规则.gitignore
在git版本控制中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。
匹配的规则例如:
cat .gitignore
# 此为注释 –– 将被 Git 忽略
*.svn # 忽略所有 .svn 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
log/ # 忽略 log/ 目录下的所有文件
output/*.txt # 会忽略 output/notes.txt ;但不包括 output/server/arch.txt
按照上述方法定义后发现并未生效
原因: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
首先说一下 git rm 和 git rm –cached file_path
当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用
git rm file_path
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
解决: 先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached . ##谨慎使用 .,可以参照git rm --cached file_path
git add .
git commit -m 'update .gitignore'
git push
注意:
.gitignore 文件的用途:
该文件只能作用于那些从来没有被 Git 记录过的文件(从未 add 和 commit 过的文件)。如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。
这篇关于git版本控制之忽略规则.gitignore的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!