【发布时间】:2011-05-08 20:13:40
【问题描述】:
关于我的原始问题,请参见实线下方。
我的本地目录中有一个未跟踪的文件夹。当我运行git status 时,我得到:
Changed but not updated:
modified: vendor/plugins/open_flash_chart_2 (modified content, untracked content)
当我输入git add vendor/plugins/open_flash_chart_2 然后再次尝试git status 时,它仍然显示未跟踪。这是怎么回事?
以下是我最近半小时的简单总结:
发现我的 Github 存储库没有跟踪我的
vendor/plugins/open_flash_chart_2插件。具体来说,没有内容,并且在文件夹图标上显示一个绿色箭头。-
试过
git submodule initNo submodule mapping found in .gitmodules for path 'vendor/plugins/open_flash_chart_2' -
试过
git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2vendor/plugins/open_flash_chart_2 already exists in the index -
git statusmodified: vendor/plugins/open_flash_chart_2 (untracked content) 在我的存储库/本地目录中寻找任何名为
.gitmodules的文件,但找不到。
我必须做些什么来让我的子模块工作以便 git 可以开始正确跟踪?
这可能是不相关的(我包括它以防它有帮助),但每次我输入 git commit -a 而不是我通常的 git commit -m "my comments" 时,它都会抛出一个错误:
E325: ATTENTION
Found a swap file by the name ".git\.COMMIT-EDITMSG.swp"
dated: Thu Nov 11 19:45:05 2010
file name: c:/san/project/.git/COMMIT_EDITMSG
modified: YES
user name: San host name: San-PC
process ID: 4268
While opening file ".git\COMMIT_EDITMSG"
dated: Thu Nov 11 20:56:09 2010
NEWER than swap file!
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
我是 Github 的新手,尽管尝试浏览文档,但我还是被这些特殊问题难住了。谢谢。
【问题讨论】:
-
我对一些事情感到困惑。一:为什么老是说github?你所说的一切听起来都是本地的(除了那个绿色箭头——我对此一无所知)。对吗,或者这是关于将更新推送到 github 的问题?二:你真的做过任何事情来创建这个插件作为子模块吗?子模块本身就是一个 git 存储库。您单独创建它,然后将其添加到超级项目中。
-
嗯, git status 的输出表明那里确实有一个子模块......但是你真的没有.gitmodules文件吗?老实说,如果这个插件有自己的仓库,并且你知道你想要什么版本,你可以从你的项目中删除那个目录,确保 .gitmodules 中没有条目,然后通过子模块设置:
git submodule add,git submodule update --init. -
Jefromi - 实际上我没有两次提到 Github - 第一次是因为绿色箭头出现在 open_flash_chart_2 的实际 Github 存储库中黄色文件夹图像的顶部。我很乐意编辑答案以使其更清晰。
-
@sscirrus:你绝对应该有一个偏好,子模块与否。如果这是您不打算处理的外部事物,但您可能希望从中进行更新,那么它应该是一个子模块。如果您不关心从其原始存储库获取更新,并且可能想自己破解源代码,那么它不应该是子模块。
-
这个问题似乎纯粹是关于 git 子模块的。我删除了一些标签,因为这个问题与 rails 或 github 没有直接关系,它适用于所有 git 用例。
tracking标签似乎用于“网站访问者跟踪”主题,因此也不适用。
标签: git git-submodules