git版本1.7.4.1
我在Ubuntu上使用git.
我已将一些文件从另一个目录复制到我的git工作目录.通常会出现在Untracked files.但是,他们没有出现.所以我不能添加它们.
当我这样做时git status,新文件不会显示.
我试图做添加它们git add source.c,然后尝试git status.该文件未显示.
所以我打开了文件并做了save as一个同名的.git status仍然无法看到该文件.
我做了一个git ls-files,新文件显示正常.
我检查了文件权限,它们与我的git目录中的所有当前文件相同.
我之前从未遇到过这个问题.
非常感谢任何建议,
Ric*_*sen 52
如果git ls-files显示source.c,那么它必须已经在索引中.这意味着它已被跟踪,并且可能已经提交.如果source.c没有显示git status,则必须已提交该文件.
尝试修改文件以查看它是否显示为已修改git status.要真正说服自己该文件已签入,请运行git cat-file -p HEAD:source.c以查看签入文件的内容(git help revisions有关HEAD:source.c语法的文档,请参阅参考资料).
此外,以下一项或多项可能属实:
git ls-files -v source.c.如果第一列是小写字母,则设置"假定未更改"位.这样可以防止任何更改出现git status.您可以通过运行关闭"假设未更改"位git update-index --no-assume-unchanged source.c.git ls-files -v source.c是s或者S然后设置了'skip-worktree'位.您可以通过运行关闭'skip-worktree'位git update-index --no-skip-worktree source.c..git/index(Git会根据需要重新创建).stat()无法正常工作.试试跑步git update-index --really-refresh.如果您的工作目录位于网络驱动器(NFS,sshfs等)上,请尝试将存储库移动到本地驱动器.ham*_*mar 34
很难从给出的信息中分辨出什么是错误的,但是作为一种可以尝试的解决方法git add -f filename.c.这将添加文件,即使它将被忽略.
Jan*_*nen 20
这真的是在黑暗中戳,但我偶尔会有类似的问题,这是其中一个案例:
Vin*_*ula 10
我创建了一个以image.gen结尾的包,它有一个以image/gen结尾的相应目录.并且有一个.gitignore条目,特定于Android gen /.
这导致文件没有被添加到git/git状态中显示.
检查下面,它帮助我解决了这个问题.
使用git check-ignore命令调试gitignore文件(排除文件).
例如:
$ git check-ignore -v config.php
.gitignore:2:src config.php
Run Code Online (Sandbox Code Playgroud)
以上输出详细说明了每个给定路径名(包括行)的匹配模式(如果有).
所以也许你的文件扩展名不会被忽略,而是整个目录.
返回的格式为:
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
Run Code Online (Sandbox Code Playgroud)
或使用以下命令打印您的.gitignorein user和repo文件夹:
cat ~/.gitignore $(git rev-parse --show-toplevel)/.gitignore $(git rev-parse --show-toplevel)/.git/info/exclude
Run Code Online (Sandbox Code Playgroud)
或者使用git add -f允许添加否则忽略的文件.
请参阅:man gitignore,man git-check-ignore了解更多详情.
小智 5
可能是第 3 方应用程序更新了您的“ gitignore_global.txt”文件(~/.gitignore_global在 Linux / OS X 上)。这发生在我身上。我安装了“源树”并注意到 git 没有跟踪新文件。它发现“源树”更改了“gitignore_global.txt”文件,并添加了几个扩展名以不进行监视。尝试找到该文件并查看是否存在不应该存在的文件扩展名
| 归档时间: |
|
| 查看次数: |
68027 次 |
| 最近记录: |