github中.gitignore不起作用啦

文章目录


前言


提示:人不是靠讲话来生活。每个人都应该靠行动。而行动,是需要时间来证明的。 --《自在独行》

两种方法解决

清除本地缓存

(.gitignore中已经表标明忽略的文件目录下的文件了,所有git push 的时候还是出现在push的目录中,或者使用git status 查看状态,看看想要被忽略的文件是否是显示被跟踪状态)

重点是因为在git忽略目录中,新建的文件在git 中存在缓存,如果这些文件已经被纳入版本管理中,就算再.gitignore中声明也是没有用的。

这里就是我们先把本地缓存删除掉,然后再进行git提交,这样就起作用了

java 复制代码
git rm -r --cached .  # 清楚所有缓存
git add .  # 从新添加
git commit -m ".gitignore update" # 更新提交
git push origin master # 提交主分支

需要特别注意的是:

1).gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

2)想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件.

对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。

设置不需要

java 复制代码
git update-index --assume-unchanged PATH   # 在PATH处输入要忽略的文件即可

在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。

在使用.gitignore文件后如何删除远程仓库中以前上传的类似文件而保留本地文件

使用git/githun的时候,之前没有写.gitigonre文件,就上传了一些没有必要的文件,在添加了.gitigonre文件后,就像删除远程仓库中的文件,但是却想保留本地中的文件。这个时候不可以直接使用"git rm directory",这样会伤处本地仓库的文件。可以使用"git rm -r -cached directory"来删除缓冲,然后在进行"commit"和"push",这样会发现远程仓库中的不必要文件已经被删除,可以直接使用"git add -a" 来添加修改的内容,上传文件就受到了.gitigonre文件的内容约束。

额外注意

额外说明:git库所在的文件夹中的文件大致有4种状态

(1)Untracked:

未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

(2)Unmodify:

文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改,

而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

(3)Modified:

文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态,

使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

(4)Staged:

暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态.

执行git reset HEAD filename取消暂存, 文件状态为Modified

Git 状态 untracked 和 not staged的区别

1)untrack 表示是新文件,没有被add过,是为跟踪的意思。

2)not staged 表示add过的文件,即跟踪文件,再次修改没有add,就是没有暂存的意思

推荐文章⭐⭐⭐⭐⭐:

.gitignore不生效问题解决方法_gitignore文件不生效-CSDN博客

相关推荐
XiaoHu02071 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
*才华有限公司*2 小时前
RTSP视频流播放系统
java·git·websocket·网络协议·信息与通信
juelianhuayao3 小时前
Git错误提交后如何快速删除本次commit
git
chen<>3 小时前
Git原理与应用
大数据·git·elasticsearch·svn
行百里er3 小时前
代码跑得慢?让Spring的StopWatch告诉你真相!
java·后端·github
小兔崽子去哪了3 小时前
Git 专题
git
金米kk4 小时前
git pull时报错Your local changes to the following files would…的解决办法
git
超级罗伯特4 小时前
git一次性完成仓库下载及所有分支获取
git·git仓库拉取
BUTCHER54 小时前
Git 基础命令
git
M malloc4 小时前
当你有两个git账号时,此时你gitpush冲突后如何解决push问题
git