我.gitignore在我的仓库的根目录下有一个文件.该.gitignore文件具有以下模式以排除已编译的Python文件,这是该文件中的唯一行.
*.pyc
Run Code Online (Sandbox Code Playgroud)
现在,当我在回购的根目录下执行以下操作时.
git init
git add .
git status
Run Code Online (Sandbox Code Playgroud)
它显示它仍然跟踪.pyc文件并尝试将其添加为新文件.见下面的输出.
系统信息:Windows 7,cygwin
注意:此问题很明显,不是关于已被跟踪的被忽略文件.我还在文件上尝试了DOS和Unix风格的行结尾.gitignore.
git status 得到:
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: .gitignore
# new file: feedapp/__init__.py
# new file: feedapp/appconfig.py
# new file: feedapp/appconfig.pyc
Run Code Online (Sandbox Code Playgroud)
我该如何进一步排除故障?
fre*_*ace 108
.gitignore仅适用于未跟踪的文件.如果您正在跟踪,.pyc那么.gitignore将不适用.删除.pycwith git rm并在下次执行git status时(以及其他任何内容)将不会显示在未跟踪文件列表中,也不会自动添加.
否则,如果您需要忽略已在版本控制下的文件,请更新索引以忽略对已在版本控制下的文件的更改:
git update-index --assume-unchanged <files>
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请参阅的git更新索引(1)手册页中,相关的答案的.gitignore文件没有忽视和相关答案的问题(GIT:忽略版本控制文件).
ike*_*ami 23
man gitignore:
gitignore文件指定git应忽略的故意**未跟踪文件**.请注意,所有gitignore文件实际上只涉及git尚未跟踪的文件
git rm file将停止跟踪他们.我找不到从repo中删除所有被忽略文件的方法.
正如您所指出的,这些文件在repo中似乎不存在.在这种情况下,你git的行为既不符合我的文件或行为,也无法帮助你.
$ mkdir foo
$ cd foo
/home/ikegami/foo
$ mkdir feedapp
$ touch feedapp/__init__.py
$ touch feedapp/appconfig.py
$ touch feedapp/appconfig.pyc
$ echo '*.pyc' > .gitignore
$ git init
Initialized empty Git repository in /home/ikegami/foo/.git/
$ git add .
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: .gitignore
# new file: feedapp/__init__.py
# new file: feedapp/appconfig.py
#
$
Run Code Online (Sandbox Code Playgroud)
也许你做到了
git init
git add .
echo '*.pmc' >> .gitignore
git init
git add .
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以使用修复问题
git rm --cached -r .
git add .
Run Code Online (Sandbox Code Playgroud)
小智 5
我有完全相同的问题 - 即使我在第一次添加任何东西之前准备一个.gitignore文件.我发现问题出在我的忽略文件的空白处.请勿在忽略文件中添加任何空格,然后重试.我想一切都会好起来的.祝好运
检查 .gitignore 文件中的行结尾。在 OS X 存储库中,我使用的是 CR 行结尾。切换到 LF 后一切又恢复正常了。
perl -p -e 's/\r/\n/g' < .gitignore > .gitignore-new
mv .gitignore-new .gitignore
Run Code Online (Sandbox Code Playgroud)
控制台骑师可能会想使用sed它。
背景:在电源故障后,我从 Windows 存储库复制了工作副本。
| 归档时间: |
|
| 查看次数: |
69385 次 |
| 最近记录: |