Git – 不会添加文件?
我遇到问题,无法将文件添加到我的存储库。
我在窗口上使用GIT,在Aptana Studio中使用一些Ruby开发。
我设法把一些file upload到GitHub,但之后,一切都停止了。 我有例如一个新的子文件夹在我的主目录,里面有2个ruby文件。 如果我调用“git add。”,然后“git status”,它会一直说“工作目录干净”,没有任何提交。
我试过“git添加文件夹/ myfile.rb”,仍然没有。
任何人有任何想法,我可以尝试吗?
我发现自己和海报的情况类似:
如果我调用“git add。”,然后“git status”,它会一直说“工作目录干净”,没有任何提交。
但是我有一个不同于这里的解决scheme。 自从我第一次来到这里,我希望能够节省一些时间。
从上面的答案和我在别处看到的情况来看,这个问题的通常解决方法是:
- 确保有问题的文件实际上保存了更改
- 确保文件不符合
.gitignore
和.git/info/exclude
排除规则 - 确保你没有试图添加一个空的文件夹。 Git不会跟踪这些。 标准的解决scheme是放置一个名为
.gitkeep
作为占位符的空白文件,所以git将跟踪文件夹。
就我而言,我原本试图在现有的回购库(不知道它在那里)创build一个git回购。 前一段时间,我从这个子回购库中删除了.git
文件夹,但是我没有意识到这太迟了,而且git已经把它作为一个子模块来跟踪它。 你可以阅读更多关于如何这些行为,以及如何删除它们,但
- 我的解决scheme是简单地运行
git rm --cached path_to_submodule
。
仔细检查你的.gitignore
文件,以确保该文件能被Git看到。 同样,还有一个文件.git/info/exclude
,就像.gitignore
文件一样,从项目中“排除”文件/目录。
如果该文件被.gitignore
排除,并且您想要添加该文件,则可以使用以下命令强制:
git add -f path/to/file.ext
为其他用户添加可能的解决scheme:
确保你没有改变在Windows中的文件夹名称的情况下:
我有一个类似的问题,其中一个名为Setup
的文件夹由Git控制并托pipe在GitHub上,所有的开发都是在Windows机器上完成的。
在某些时候,我改变了文件夹setup
(小写字母S)。 从那时起,当我将新文件添加到安装文件夹时,它们被存储在setup
文件夹中,而不是Setup
文件夹中,但是我猜测是因为我正在Windows机器上开发git / github中的现有Setup
文件夹没有更改为setup
。
结果是我看不到GitHub中的所有文件。 我怀疑,如果我克隆了一个* nix机器上的项目,我会看到两个文件夹, Setup
和setup
。
所以确保你没有改变在Windows机器上的包含文件夹的情况下,如果你有,那么我会build议:
- 将文件夹重命名为
setup-temp
-
git add -A
-
git commit -m "Whatever"
- 将文件夹重命名为你想要的
-
git add -A
-
git commit -m "Whatever"
奇怪的,但我与git斗争整个晚上添加一个文件。 原来它已经被添加了。 Git没有收到我的更改,因为这些更改没有被保存,因为我的帐户无法访问该文件,而且我的IDE没有通过SSH报告。
简而言之,请检查以确保您没有将其添加到存储库中。
最好的办法是复制你的文件夹。 删除原件。 从github克隆项目,将新文件复制到新克隆的文件夹中,然后重试。
标准程序如何:
git add folder git commit
这将使用单个命令添加文件夹及其所有文件。
请注意,git无法存储空文件夹。
如果提交没有成功,你应该检查的第一个地方可能是.gitignore
。
在我的情况下,该问题已启用SafeCrLf选项。 我在与乌龟git的窗户。 禁用该选项后,添加文件不再是一个问题了。
我在文件夹中的第一个程序有这个问题。 我做了“git add”,然后“git commit”。 “混帐状态”给出了错误描述,即“没有提交,工作目录干净”
我结束了从程序文件夹中删除.git文件。 然后我做了一个新的git init,git add和git commit,它工作。
我只是有这个问题,问题是我在一个目录,而不是在顶层。 一旦我转移到顶层它的工作。
在这里你可以find同样的问题的答案:
基本上在这种情况下,问题是global_git忽略
将第一个文件添加到从GitHub克隆的空存储库是不可能的(对我来说)。 你需要遵循GitHubbuild议创build的链接README。 在线创build第一个文件后 ,可以使用git正常工作。
这发生在我2016年11月17日。
我search了一会儿,最终发现我阻塞了SSH端口,导致git add命令停止工作。 我结束了改变起源使用https使用以下命令:git远程设置url来源[url-to-git-repo]
另一个问题可能是文件权限。 尝试发出: chmod 755 file1
来自我的愚蠢的解决scheme,但我认为这不是添加和推新的文件,因为github.com没有显示我刚刚推的文件。 我忘记了我添加的文件在不同的分支。 文件推得很好。 我不得不从我的主分支切换到github中的新分支来看看他们。 在那一个上丢了几分钟:)