一般git clone下来的项目是没有 .gitignore文件的需要我们手动创建,然后git 会自动识别这个文件,创建完成之后就可以在里面写一些创建了的文件但不希望上传的部分。
例如 cache , log 等 ,这些文件创建了但是并不想上传,我们可以将其写入 .gitignore文件中,* 代表该路径下的文件
.gitignore这个文件中支持多种忽略的规则,大家可以上网上去查,很多用法。这里不多叙述
但是.gitignore 只支持一些创建了但是不想上传的文件,也就是说不存在缓冲区的文件可以用.gitignore忽略,但是对于那些已经存在缓冲区的文件,修改了却不想上传,我们该如何呢?看第二种方法。
该情况可能出现在,修改了配置文件,或者修改一些配置适应本地环境的文件。
使用 git update-index --assume-unchanged PATH/FILE 来不追踪该文件更新与否。
PATH/FILE 特定文件比如 config/config.php等等。
该情况可能出现在,某些文件可能不需要添加到缓冲区,但是不小心添加到缓冲区,需要忽略,可以先从缓冲区移除,在从.gitignore文件中忽略
git rm --cached testFile //将该文件从缓冲区移除永远不追踪该文件
做完以上步骤时,想必你们也和我一样拥有一个干净的git status 结果,以后修改文件便可以,git add . 直接添加自己已经修改的文件,然后上传,再也不用一个一个文件的添加,还担心添加错。
大家在开发项目的时候都很喜欢使用git作为代码管理工具,但是在开发项目的时候我们的本地配置文件不应该覆盖服务器中的配置文件 ,我们使用命令git status查看待提交文件的时候需要注意不要把本地的配置文件提交到项目上 , 不然的话团队其他人git pull下来的文件就被覆盖了,下面介绍一下有哪些方法可以做到以上的需求:
第一个方法就是改gitignore,把不需要的文件或文件夹添加进去就一劳永逸了,但是这种方法不够灵活,等需要再提交的时候又得在.gitignore文件找到并删除。
第二个方法就是使用命令:git update-index --assume-unchanged 您的文件 标记一下,例如:
提交之前我们再使用命令:git status查看一下有没有此文件了,没有就说明成功了,这个习惯一定要保持好,如果后期想提交该文件的话,那就运行命令:git update-index --no-assume-unchanged 您的文件 取消标志,例如:
当我们忘记了忽略过哪些文件的话,可以运行下面的命令查找出来:
然后取消标志即可,如果需要全部取消标志的不提交文件的话,可以运行下面的命令:
以上就是我要分享的使用Git不提交指定文件的分享,大家都学会了吗?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)