我有一个.gitignore
文件,它正在忽略一些文件。我已经更新了.gitignore
文件(删除了一些文件名并添加了一些文件名)。这没有反映在中git status
。如何强制git更新这些更改,以便跟踪之前未跟踪的文件,反之亦然。
我已经试过这个问题,但仍然无法跟踪我的所有文件(根据我的更新.gitignore
)。(简单来说,一旦.gitignore
更新或删除,如何强制git撤回文件)。
我有一个.gitignore
文件,它正在忽略一些文件。我已经更新了.gitignore
文件(删除了一些文件名并添加了一些文件名)。这没有反映在中git status
。如何强制git更新这些更改,以便跟踪之前未跟踪的文件,反之亦然。
我已经试过这个问题,但仍然无法跟踪我的所有文件(根据我的更新.gitignore
)。(简单来说,一旦.gitignore
更新或删除,如何强制git撤回文件)。
Answers:
如果要添加所有文件,请从.gitignore
文件而不是.gitignore
文件及其中删除所有文件名commit
,然后尝试
git config --global core.excludesfile ~/.gitignore_global
git会根据操作系统忽略某些文件(例如Windows中的.dll)。有关更多信息。
现在
git add .
git status
git commit -m "your message"
要么
您可以尝试一个简单的技巧,它可能会或可能不会起作用。从.gitignore
文件中删除所有文件名,并添加此行!*.*
,然后按add
和commit
。
更新
很简单,我将举例说明。假设您有一个build
已经由git跟踪的文件夹。现在,您决定不跟踪此文件夹。
build
)添加到.gitignore
build
夹从现在开始,git将不再跟踪build
文件夹。
您将必须先清除现有的git cache
。
删除所有文件的缓存
git rm -r --cached .
删除特定文件的缓存
git rm -r --cached <file_name.ext>
清除现有缓存后,在当前目录中添加/暂存一个或多个文件并提交
git add .
//添加所有文件git add <file_name.ext>
//添加特定文件git commit -m "Suitable Message"
正如Scott Biggs在评论中指出的那样:“这既可以添加曾经被忽略的文件,也可以忽略曾经被跟踪的文件”
git status
跟踪.gitignore
文件?
git rm --cached
。
您可以通过删除要获取此问题的那些特定文件的缓存来解决此问题。当您一次提交某些特定文件,然后稍后将它们添加到.gitignore中时,就会出现您提到的问题。
git rm -r --cached <your_file.extension>
git commit -am "Suitable Message"
上面的@ sharvan40提出了相同的解决方案,但是您无需删除所有文件的缓存。它为所有文件创建一个新的提交。
git rm
先将文件添加到中.gitignore
。