Git不会添加任何文件-只是一个空目录。

3

我一直在使用Xcode进行iPhone项目开发,决定将其上传到Github。我在Github上创建了一个仓库,克隆了它,然后将所有文件移动到目录中。接着我尝试着

git add Directory .

我提交并推送了代码,但是现在仓库里唯一的东西就是这个目录。里面什么都没有 - 我甚至无法点击它以在 Github 文件查看器中打开它。它只是一个文件夹的图片和文件夹的名称。我已经尝试过

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

这些文件没有被添加到目录中,我做错了什么?


你是否输入了“Directory”这个部分?你有一个名为“Directory”的目录吗?还是你认为它是命令的一部分? - Gareth
目录只是我用来代替实际目录名称的占位符(不想分享名称)。 - Seth Nelson
4个回答

8

可能存在另一个仓库。

我在我的vimfiles的插件目录中遇到了这个问题。 按照以下步骤重现:

  1. 从GitHub克隆某个东西(在我的情况下是插件,例如vim-easymotion)到您的存储库中的某个位置(在我的情况下是vimfiles\bundle
  2. git add .,然后git status将显示所有已实现的内容,即文件夹名称(在此示例中为bundle\vim-easymotion)已添加为新文件
  3. git commit,然后git push origin master(将更改推送到GitHub)
  4. 在浏览器中导航到GitHub,以检查您在第1步中克隆的内容所在的文件夹,您会发现它将克隆的名称显示为空文件

当我在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文件也在那里。

解决方法,假设您已将别人的存储库克隆到自己的存储库中,就像我一样:

  1. 在问题克隆的子目录中使用Git Bash,发出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. 将(现在已清理)子目录移回您的存储库,并像往常一样继续。

2
git add .

当在目录中时,应该将里面的所有内容添加进去,除非被.gitignore文件忽略...


1
尝试使用git add .或者使用git gui并通过点击图标选择文件来将它们暂存,然后提交。
Git不跟踪目录-它跟踪文件,而目录只是随之而来。如果您明确添加文件,则目录将作为文件路径的一部分包含在内。要添加目录内容,git add Directory/*即可完成任务。

我尝试了git add .,也尝试了逐个添加文件。但是没有任何效果。 - Seth Nelson

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

你在哪个点上遇到了问题?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接