.gitignore不生效解决方案

这篇具有很好参考价值的文章主要介绍了.gitignore不生效解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一种方法
.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。
原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,
这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。

解决方法: git清除本地缓存(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m ‘update .gitignore’
git push -u origin master

需要特别注意的是:
1).gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
2)想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,
对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。

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

git update-index --assume-unchanged PATH //在PATH处输入要忽略的文件

在使用.gitignore文件后如何删除远程仓库中以前上传的此类文件而保留本地文件
在使用git和github的时候,之前没有写.gitignore文件,就上传了一些没有必要的文件,在添加了.gitignore文件后,就想删除远程仓库中的文件却想保存本地的文件。这时候不可以直接使用"git rm directory",这样会删除本地仓库的文件。可以使用"git rm -r –cached directory"来删除缓冲,然后进行"commit"和"push",这样会发现远程仓库中的不必要文件就被删除了,以后可以直接使用"git add -A"来添加修改的内容,上传的文件就会受到.gitignore文件的内容约束。

额外说明: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,就是没有暂存的意思文章来源地址https://www.toymoban.com/news/detail-715340.html

到了这里,关于.gitignore不生效解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git---更新gitignore文件,使之生效

    同步remote端和本地端 # 注意有个点“.” git rm -r --cached . git add -A git commit -m \\\"update .gitignore\\\" 简单的.gitignore示例 # 此为注释 – 将被 Git 忽略 # 忽略所有 .a 结尾的文件 *.a # 但 lib.a 除外 * !lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO # 忽略 build/ 目录下的所有文

    2024年02月03日
    浏览(76)
  • git解决.gitignore不生效

    1).gitignore规则的语法错误 排查语法问题,修正错误的语法。 2)git缓存 使用git清除本地缓存,然后提交。命令如下: .gitignore文件只会在第一次提交项目的时候写入缓存,如果第一次提交项目时候忘记添加.gitignore文件,后来再补上是没有用的,.gitignore文件是不生效的。因为

    2024年02月11日
    浏览(35)
  • Git编辑.gitignore文件并使其生效

    当我们开发完一个项目想将项目推送到远程仓库时,我们大多数时候都是将所有的文件添加到仓库中并且推送到远程仓库。这样的方式在项目不大的时候是不会引起大问题的,但是远程仓库是有限的,如果我们的项目越来越大会导致远程仓库的存储不够。在git中,我们可以通

    2024年02月13日
    浏览(42)
  • 【问题分析解决】git添加.gitignore后不生效问题

    在已经提交过的git管理的项目中,新增加一个.gitignore文件,或者修改.gitignore文件之后,新增的内容不生效。 因为我们误解了.gitignore文件的用途,该文件只能作用于Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。 之所以你

    2024年02月14日
    浏览(35)
  • git将文件或目录添加进了.gitignore文件,为什么不生效?

    如题,之所以将文件添加进了.gitignore文件但不生效,是因为该文件已经被add进git仓库了,已经被git托管了,这时git就没法ignore了。解决办法是先用git rm --cached将这些文件从git仓库中取消托管并提交,然后.gitignore文件才会生效。详细见如下描述。 已经添加到git仓库中的文件,

    2024年02月03日
    浏览(43)
  • 【已解决】在.gitignore加入忽略文件不生效

    在上次提交代码的时候,连同node_modules、logs等一些没有必要的文件夹或文件都上传了,在.gitignore文件中都把它们加进去了,没想到不起作用,上网查阅之后才知道自己在第一次提交的时候git被跟踪了,所以再加入.gitignore后是没有作用的 git ls-files 使用此命令,可以看到被追

    2024年01月20日
    浏览(39)
  • IDEA中.gitignore文件不生效解决办法

    .gitignore文件不生效: .gitignore文件只会在第一次提交项目的时候写入缓存。 如果第一次提交项目时忘写.gitignore文件,后来再添加想要忽略的文件,.gitignore文件是不生效的。 原因: 因为在缓存中已经标记记录了该项目不存在gitignore文件了。 . 解决办法: 清除缓存文件 清楚完

    2024年02月16日
    浏览(31)
  • Linux下git访问github遇问题大全及解决方案(太多了,慢慢更新)

    目录 目录 1.  ssh -T git@github.com配置了公钥依旧提示git@github.com‘s password: Permission denied, please try again.   2. ssh: connect to host github.com port 22: Connection refused  3. git报错Failed to connect to127.0.0.1 port 1080:Connection refused 4.  git push时卡住的解决方法(长时间不报错也不自动退出)_相关技

    2024年01月21日
    浏览(43)
  • ssh -T git@github.com Connection timed out 解决方案-自测有效

    $ ssh -T git@github.com $ ssh -vT git@github.com -p 443 OpenSSH_9.5p1, OpenSSL 3.1.4 24 Oct 2023 debug1: Reading configuration data /c/Users/Administrator/.ssh/config debug1: /c/Users/Administrator/.ssh/config line 1: Applying options for github.com debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to github.com [20.205.243.166] port

    2024年01月20日
    浏览(43)
  • Git报错: Failed to connect to github.com port 443 解决方案

    两种情况: 第一种情况自己有vpn ,网页可以打开github。说明命令行在拉取/推送代码时并没有使用vpn进行代理 第二种情况没有vpn ,这时可以去某些网站上找一些代理ip+port 解决办法:配置http代理Windows、Linux、Mac OS 中 git 命令相同: 配置socks5代理 配置http代理 注意: 命令中的

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包