我一直在Xcode中开发一个iPhone项目,并决定将它放在github上。我在github上创建了一个repo,克隆了它,并将我的所有文件都移到了目录中。然后我试图
git add Directory .
我承诺并推动,发现现在repo中唯一的东西就是这个目录。它什么都没有 - 我甚至无法点击它在github文件查看器中为repo打开它。它是文件夹和文件夹名称的图片。我试过了
git add Directory .
git add Directory -A
git commit -a
什么都不会将这些文件添加到目录中。我做错了什么?
答案 0 :(得分:8)
可能存在另一个存储库。
我的vimfiles中的插件目录发生了这种情况。 像这样重现:
vim-easymotion
)在你的存储库的某个地方(在我的情况下进入vimfiles\bundle
)git add .
,然后git status
将显示所有已实现的内容是文件夹名称(在本例中为bundle\vim-easymotion
)已添加为new file
git commit
,然后是git push origin master
(将更改推送到GitHub)我只是在Git Bash的vimfiles\bundle\vim-easymotion
目录中发布了git config -l时才意识到发生了什么,并注意到Lokaltog
的引用,vim-easymotion
的所有者存储库。所以我发布了git remote -v
,当然,在该目录中,Git别名是origin https://github.com/Lokaltog/vim-easymotion.git
,这不是我的存储库的远程地址,而是插件的远程地址。由于我的无知而震惊,我使用FreeCommander导航到插件目录,显示隐藏文件,当然还有插件创建者的.git
文件。
治愈,假设您已将其他人的存储库克隆到您的存储库中,就像我一样:
find . | grep /.git | xargs rm -rf
以删除所有不需要的.git
个文件git remote -v
检查您是否已回到自己的遥控器别名git status
现在将报告文件已被删除(在我的情况下为vim-easymotion
)git add -A
进行删除,然后git commit
和git push origin master
从GitHub远程删除该daft文件名答案 1 :(得分:2)
git add .
在目录中应该添加所有内容,除非.gitignore文件忽略它...
答案 2 :(得分:1)
尝试git add .
或者使用git gui并通过单击图标来选择其中的文件然后提交它们。
git不会跟踪目录 - 它会跟踪文件和目录。如果显式添加文件,则该目录将作为文件路径的一部分包含在内。添加目录内容git add Directory/*
可以完成这项工作。
答案 3 :(得分:1)
我很惊讶地发现git add . ; git commit
不适合你。您确定从repo中最顶层的目录运行这些命令吗?以下是您通常期望发生的事情的总结:
cd ~/Directory # or whatever the path is in your case
git status # shows lots of "Untracked files" because this is a new repo
git add . # adds everything to your index
git status # now shows lots of "Changes to be committed"
git commit # fires up the editor and finishes the commit
git show # shows the commit you just made
在什么时候这会让你失望?