有一个文件被跟踪git
,但现在该文件在.gitignore
列表中.
但是,该文件在git status
编辑后会一直显示.你怎么强迫git
完全忘掉它?
我的.gitignore
文件似乎被Git忽略了 - 该.gitignore
文件可能已损坏吗?Git期望哪种文件格式,语言环境或文化?
我的.gitignore
:
# This is a comment
debug.log
nbproject/
Run Code Online (Sandbox Code Playgroud)
输出来自git status
:
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# debug.log
# nbproject/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
我想,debug.log
而nbproject/
不是出现在未跟踪的文件列表中.
我应该从哪里开始寻找解决方法呢?
我有一个包含文件的存储库Hello.java
.当我编译它时,Hello.class
会生成一个额外的文件.
我Hello.class
在.gitignore
文件中创建了一个条目.但是,该文件似乎仍然被跟踪.
我想知道如何让git忽略Hello.class
.
我提交并将一些目录推送到github.之后,我更改了.gitignore
文件,添加了一个应该被忽略的目录.一切正常,但(现在被忽略)目录保留在github上.
如何从github和存储库历史记录中删除该目录?
我已经提交了大量我现在想要忽略的文件.我如何告诉git现在忽略未来提交的这些文件?
编辑:我也想从存储库中删除它们.它们是在构建之后创建的文件或用于特定于用户的工具支持.
我意外地说git rm -r .
.我该如何从中恢复?
我没有承诺.
我认为所有文件都标记为删除,并且还从我当地的结帐中删除.
编辑:我可以(如果我知道命令)恢复到最后一次提交.但如果我可以撤消它,那将会好很多git rm -r .
.因为我不确定我在最后一次提交之后和之前做了什么git rm -r .
.
我标记--assume-unchanged
为什么?有没有办法找出我用这个选项隐藏的东西?
我已经挖掘了.git/
目录并且没有看到任何看起来像我期望的东西,但它必须在某个地方.我忘记了几周前我用这种方式标记的内容,现在我需要为未来的开发人员记录这些细节.
我的存储库中有一个现有的Visual Studio项目.我最近在我的项目下添加了一个.gitignore文件,我假设它告诉Git忽略文件中列出的文件.
我的问题是所有这些文件都已被跟踪,据我所知,Git不会忽略在将规则添加到此文件之前已被跟踪的文件以忽略它.
有人建议使用:git rm --cached
并手动取消跟踪它们,但这将永远让我一个接一个地浏览它们.
我想删除存储库并重新创建它,但这次使用.gitignore文件,但必须有更好的方法来执行此操作.
我的存储库中有一些文件应该被忽略,我将它们添加到.gitignore中,当然,它们不会从我的存储库中删除.
所以我的问题是,是否有一个使用filter-branch的魔术命令或脚本可以重写我的历史记录并轻松删除所有这些文件?或者只是一个命令,它将创建一个将删除它们的提交?
更新gitignore文件后是否可以"刷新"git存储库?
我刚刚向我的gitignore添加了更多的ignorations(?),并希望删除与新文件匹配的repo中的内容.