2012-03-09 59 views
2

我一直在Xcode的iPhone项目上工作,并决定我想把它放在github上。我在github上创建了一个repo,克隆它,并将所有文件移动到目录中。然后我试图Git不会添加任何文件 - 只是一个空目录

git add Directory . 

我承诺并推送,发现现在回购的唯一东西就是这个目录。没有任何内容 - 我甚至无法单击它在github文件查看器中打开它以用于回购。它是一个文件夹和文件夹名称的图片。我试过

git add Directory . 
git add Directory -A 
git commit -a 

什么都不会将这些文件添加到目录。我究竟做错了什么?

+0

你在输入'Directory'部分吗?你有一个名为'Directory'的目录吗?或者你认为它是命令的一部分? – Gareth 2012-03-09 01:11:53

+0

目录只是我的替身目录的实际名称(不想共享名称) – 2012-03-09 01:52:59

回答

0

尝试git add .或者可能使用git gui并通过点击图标来选择它们中的文件,然后进行提交。

git不跟踪目录 - 它跟踪的文件和目录来搭便车。如果明确添加文件,则该目录将作为文件路径的一部分包含在内。要添加一个目录内容git add Directory/*将完成这项工作。

+0

我试过git add。我也尝试过单独添加文件。没有。 – 2012-03-09 01:53:33

1
git add . 

而在目录里面应该添加的一切,除非它是由你的.gitignore文件忽略...

1

我很惊讶地听到,git add . ; git commit工作不适合你。你确定你正在从仓库最顶层的目录运行这些命令吗?以下是您通常希望发生的情况的总结:

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 

在什么时候你会失败?

7

另一个存储库可能存在。

这发生在我的插件目录在我的vimfiles重现这样

  1. 混帐克隆的东西从GitHub(对我来说,一个插件,例如vim-easymotion)的地方到你的资料库(在我的情况下进入vimfiles\bundle
  2. git add .,然后git status将显示所有一个已经实现的是文件夹名称(在这种情况下bundle\vim-easymotion)已被添加为new file
  3. git commit,然后git push origin master(推变化的GitHub)
  4. 导航到GitHub上的浏览器来检查,你已在步骤1中克隆的东西进入文件夹,你会看到,它显示克隆的名字作为一个空文件

我才意识到发生了什么事情的时候,从我在Git Bash的vimfiles\bundle\vim-easymotion目录中,我发布了git config -l,并注意到对vim-easymotion存储库的所有者Lokaltog的引用。所以我发布了git remote -v,果然,在那个目录中,Git别名是origin https://github.com/Lokaltog/vim-easymotion.git,这不是我的存储库的远程地址,而是插件的地址。惊呆了我的无知,我导航到插件目录FreeCommander,显示隐藏文件,当然插件创建者的.git文件在那里。

固化,假设你已经克隆别人的仓库为你,为我所做的:在有问题的克隆子目录

  1. 混帐击,发出find . | grep /.git | xargs rm -rf删除所有不必要的.git文件
  2. git remote -v检查您是否回到您自己的远程设备的别名
  3. 现在暂时将整个该子目录移出存储库
  4. git status现在将报告一个文件已被删除(在我的情况vim-easymotion
  5. git add -A来分段删除,然后git commitgit push origin master在GitHub上从远程删除愚蠢名
  6. 移动(现在干净)子目录返回到您的存储库,并继续正常。
+0

这是正确的解决方案。谢谢队友(y) – kmonsoor 2015-12-01 21:06:43

+0

好的解决方法,谢谢 – JasTonAChair 2016-02-08 12:24:17

相关问题