【问题标题】:Git won't add any files - just an empty directoryGit 不会添加任何文件 - 只是一个空目录
【发布时间】:2012-03-09 01:00:20
【问题描述】:

我一直在 Xcode 中开发一个 iPhone 项目,并决定将其放在 github 上。我在 github 上创建了一个 repo,克隆了它,并将我的所有文件移到了目录中。然后我尝试了

git add Directory .

我提交并推送,发现现在 repo 中唯一的东西就是这个目录。其中没有任何内容 - 我什至无法单击它以在 github 文件查看器中打开它以获取 repo。它是文件夹的图片和文件夹的名称。我试过了

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

没有任何东西会将这些文件添加到目录中。我做错了什么?

【问题讨论】:

  • 您输入的是Directory 部分吗?你有一个名为Directory 的目录还是你认为它是命令的一部分?
  • 目录只是我的目录实际名称的替身(不想共享名称)

标签: git github


【解决方案1】:

可能存在另一个存储库。

这发生在我的vimfiles 中的插件目录中。 像这样复制

  1. git 从 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 时,我才意识到发生了什么,并注意到 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 文件忽略...

    【讨论】:

      【解决方案3】:

      尝试git add . 或使用 git gui 并通过单击图标来选择其中的文件以暂存它们然后提交。

      git 不跟踪目录——它跟踪文件和目录。如果您显式添加文件,则该目录将作为文件路径的一部分包含在内。添加目录内容git add Directory/* 就可以了。

      【讨论】:

      • 我试过 git add 。我也尝试过单独添加文件。什么都没有。
      【解决方案4】:

      得知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
      

      这对你来说什么时候崩溃了?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-15
        • 2017-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        • 2017-03-30
        相关资源
        最近更新 更多