无法在git中标记文件

无法在git中标记文件,git,bash,Git,Bash,我试图忽略对.gitignore文件所做的更改。为了实现这一点,我使用以下命令git update index——假设git bash上的bin/.gitignore没有改变 执行时,我在git bash上看到无法标记文件bin/.gitignore响应 如何解决这个问题?为什么我要面对这个问题 我也尝试了这个链接,但没有帮助 确保文件的相对路径正确 试试这个: $ pwd # see working directory $ ls -la ./bi

我试图忽略对.gitignore文件所做的更改。为了实现这一点,我使用以下命令
git update index——假设git bash上的bin/.gitignore
没有改变

执行时,我在git bash上看到
无法标记文件bin/.gitignore
响应

如何解决这个问题?为什么我要面对这个问题

我也尝试了这个链接,但没有帮助


确保文件的相对路径正确

试试这个:

$ pwd                        # see working directory 
$ ls -la ./bin/              # see if .gitignore file exist!
$ git update-index --assume-unchanged ./bin/.gitignore
还要查看您的
bin/.gitignore
文件是否列在
gitls files-o

$ git ls-files -o    # Show other (i.e. untracked) files in the output
如果找到
.gitignore
文件,则
添加
提交
。然后尝试
无日期索引

$ git add .
$ git commit -m 'Message'

$ git update-index --assume-unchanged ./bin/.gitignore

我认为你的.gitignore是未跟踪的文件。使用git status检查它。如果它是未跟踪的,您将无法更新该文件的索引。 最好先添加并提交,然后更新索引
或者物理删除它,然后从您的回购中提取更改。

在评论中讨论并获得更多信息后,我将此作为答案发布

原因很可能是,要设置的文件
假定未更改
位未被git跟踪。在评论中,我提到了以下命令:

git ls-files --error-unmatch /yourPath/file
您可以检查git是否跟踪文件


如果未对其进行跟踪,则无法更新索引,因为它尚未编制索引。您可以将它添加到
.gitignore
文件中,这样git就会忽略它。

您确定给定的相对路径正确吗?
bin/.gitignore
文件在您的CWD下吗?@Kent是的,我使用了正确的路径,它在CWD下。如果路径正确,文件是否已经在git阶段?如果从未添加,则会出现错误。简单地说,请报告cmd:
git ls files的输出--error unmatch/yourPath/file
我知道这对您当前的问题没有帮助,但是如果您希望本地排除文件,请将其模式放入
.git/info/exclude
中。这个文件永远不会被提交,它非常适合告诉git只忽略这个工作树中的一些文件。