相关疑难解决方法(0)

列出Git存储库中的子模块

我有一个Git存储库,里面有几个子模块.如何git submodule init在运行后列出所有子模块的名称?

git submodule foreach命令可以回显子模块的名称,但只有在检出后才能使用,这在init步骤之后没有发生.链中有更多的步骤需要在签出之前发生,我不希望将子模块的名称硬连接到脚本中.

那么是否有一个Git命令来获取所有当前已注册但尚未检出的子模块的名称?

git git-submodules

215
推荐指数
16
解决办法
15万
查看次数

Git:我可以在status,diff等中禁止列出'modified content'/ dirty submodule条目吗?

有些人(我认为在1.6.x版本附近)git意识到了子模块内部的变化.那只会让我烦恼:

$ git status vendor | grep modified:
#       modified:   vendor/rails (modified content)
$ git diff vendor/
diff --git a/vendor/rails b/vendor/rails
--- a/vendor/rails
+++ b/vendor/rails
@@ -1 +1 @@
-Subproject commit 046c900df27994d454b7f906caa0e4226bb42b6f
+Subproject commit 046c900df27994d454b7f906caa0e4226bb42b6f-dirty

请停止?

编辑:

好的,我有答案.现在我有另一个问题:

我可以把它放进去~/.gitconfig吗?从我最初看起来我不能,并且我没有看到任何有希望通过略读补丁.(我想我仍然可以做别名.)

git git-config git-submodules

119
推荐指数
6
解决办法
4万
查看次数

在另一个git仓库中维护git repo

这是我想要的:

REPO-A
  /.git
  /otherFiles
  /REPO-B
    /.git
    /moreFiles
Run Code Online (Sandbox Code Playgroud)

我希望能够将所有 REPO-A的内容推送到REMOTE-A并且只将 REPO-B 推送到REMOTE-B.

可能?

git version-control github

106
推荐指数
5
解决办法
6万
查看次数

你忽略.gitignore中的git子模块还是将它提交给你的repo?

project_dir/vendor/submodule_one每次运行时git status都会在项目中添加一个子模块modified: vendor/submodule_one (new commits).

我的问题是解决这个问题的最佳方法是什么?我是否将vendor/submodule_one-folder 添加到my中,.gitignore因为我的主项目不应该知道我的子模块的细节?

或者当我更改并提交对子模块的更改时,我是否还需要在我的主项目中进行提交?

刚刚开始使用子模块,除了设置它们之外似乎找不到太多信息.

git

78
推荐指数
3
解决办法
4万
查看次数

.gitignore文件添加在Git子模块中

我最近重组了我的dotfiles,住在一个Git存储库中~/Dropbox/dotfiles,我正在使用病原体将所有Vim插件捆绑在里面~/Dropbox/dotfiles/home/.vim/bundle.这些插件作为Git子模块添加.

现在的问题是,当我运行Vim时,它会自动生成所有插件的文档,并将它们放在每个子模块目录中.这会将未跟踪的内容添加到子模块中,我希望避免这些内容.

ruby-1.8.7-p330@gs ~/Dropbox/dotfiles ‹master*› $ git st
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   home/.vim/bundle/fuzzyfinder (untracked content)
#   modified:   home/.vim/bundle/l9 (untracked content)
#   modified:   home/.vim/bundle/matchit (untracked content)
#   modified:   home/.vim/bundle/ruby (untracked content)
#   ...
no changes …
Run Code Online (Sandbox Code Playgroud)

git vim gitignore git-submodules

57
推荐指数
2
解决办法
1万
查看次数

如何只更新特定的git子模块?

因此,更新我的所有子模块都是通过运行来完成的

git submodule foreach 'git pull origin master'
Run Code Online (Sandbox Code Playgroud)

如何在不更新任何其他子模块的情况下更新特定的子bundle/syntastic模块?

git git-submodules

51
推荐指数
4
解决办法
4万
查看次数

通过病原体将标签生成到不同的位置

我使用病原体来组织我的vim插件.我git将插件从github克隆到vimbundles目录中.这样,更新它们很简单.

我对病原体产生的标签有问题.如果插件没有在其代码中包含标签,则病原体通过调用生成它们pathogen#helptags().标签生成到doc插件的文件夹中.然后这些文件在git存储库中显示为未跟踪.

你知道如何在不同的位置生成标签吗?所有标签都可以在同一个地方,目标不是将它们生成到插件所在的目录.病原体可以说服吗?

tags vim plugins

15
推荐指数
3
解决办法
2149
查看次数