【问题标题】:git add subdirectory content to commitgit 添加要提交的子目录内容
【发布时间】:2012-04-10 20:23:53
【问题描述】:

我有我的 git repo 用于我的 vim 东西 MyVim 这里它包括我的 .vimrc 和我的 .vim 文件夹,其中包括 bundles 文件夹。

我的 .git 位于我的主目录中,这就是 .vimrc 所在的位置。 我已经提交并推送到我的 github,添加了 vimrc、.vim 文件夹和 bundle 文件夹。但是未添加捆绑包中的文件夹,并且在克隆时它们按名称存在但为空。

我正在尝试添加它们。尝试各种添加方法,例如。

git add '.vim/bundle/*.*'

但是提交命令总是说没有更改添加到提交。

git commit -m 'update submodules'

这是如何工作的?

编辑:用于创建 repo 的命令

git init
git add .vimrc
git add .vim
git commit -m 'first commit'
git push origin

我没有尝试专门使用子模块或任何功能。我只想添加 .vimrc 和目录 .vim 和子文件夹及其内容。我在谷歌搜索时使用了上面的评论“子模块”,这是我正在审查的答案。然而,我的问题似乎比所提供的问题和解决方案更简单。

【问题讨论】:

  • 您的 .gitignore 文件中的任何模式都会妨碍您?
  • 您是否使用子模块来打包?
  • 不确定上面有解释的子模块

标签: git vim


【解决方案1】:

AFAIK Git 不会专门处理以点开头的文件。至少git add dir/还加了dir/.hiddenfile

但是,正如您所说,在克隆时创建的文件夹是空的,必须其中有一些文件,因为 Git 不管理文件夹,也无法列出空文件夹。至少据我所知,创建空文件夹的唯一方法是创建一个包含.gitignore 文件的文件夹,该文件会忽略自身。但我想你并没有试图摆弄这种东西。

所以请仔细检查有问题的目录。如果不确定,请发帖ls -a dir/

【讨论】:

    【解决方案2】:
    git add '.vim/bundle/*.*'
    

    不从捆绑目录添加文件夹,因为它们的名称中没有点。 使用

    git add '.vim/bundle/*'
    

    改为

    【讨论】:

      【解决方案3】:

      您的 '.vim/bundle/' 中的文件夹似乎被添加为子模块。

      这是我的建议,而不是直接的答案(尽管我认为“git add -A”可以。):

      1,如果您想使用“vim-pathogen+git 子模块”管理您的 dotVim 文件,请阅读我的 dotVim 中的 this 视频或 README 文件(我已经注意到所有必要的 git 命令来设置、更新、并将其克隆到其他地方。)。

      2,我注意到你的 '.vim/bundle/' 中有 vbundle。要使用它管理您的 dotVim,只需按照 vbundle 的文档(或参考this blog post)。

      【讨论】:

        猜你喜欢
        • 2013-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多