【发布时间】:2011-08-16 21:15:57
【问题描述】:
我有一个 Ruby on Rails 项目(使用 git 进行版本控制),其中包含许多外部 JavaScript 依赖项,这些依赖项存在于各种公共 GitHub 存储库中。将这些依赖项包含在我的存储库中(当然,除了手动复制它们)以允许我控制它们何时更新的最佳方式是什么?
git 子模块似乎是完美的选择,但在多个分支之间切换时会出现问题,其中许多分支不包含相同的子模块。
如果 git 子模块是最好的方法,我想我真正的问题是:我怎样才能在许多分支中使用子模块而不会一直遇到这个问题:
my_project[feature/new_feature√]$ git submodule update
Cloning into public/javascripts/vendor/rad_dependency...
remote: Counting objects: 34, done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 34 (delta 9), reused 0 (delta 0)
Receiving objects: 100% (34/34), 12.21 KiB, done.
Resolving deltas: 100% (9/9), done.
Submodule path 'public/javascripts/vendor/rad_dependency': checked out '563b51c385297c40ff01fd2f095efb14dbe736e0'
my_project[feature/new_feature√]$ git checkout develop
warning: unable to rmdir public/javascripts/milkshake/lib/cf-exception-notifier-js: Directory not empty
Switched to branch 'develop'
my_project[develop⚡]$ git status
# On branch develop
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# public/javascripts/milkshake/lib/cf-exception-notifier-js/
nothing added to commit but untracked files present (use "git add" to track)
【问题讨论】:
标签: javascript git git-submodules