伙计们,我只是使用子模块来组织一些Git repos,这里是地址: repos
我想将所有子模块移动到一个名为repos的新目录中,例如,jquery - > repos/jquery.
我更改.gitmodules文件,但似乎不起作用.我该怎么办?
当我git submodule update --init第一次运行具有大量子模块的项目时,这通常需要花费大量时间,因为大多数子模块都存储在慢速公共服务器上.
是否有可能异步初始化子模块?
背景:我有一个Python程序几个紧密的循环被一再呼吁,其中包括datetime.datetime.now()方法,还有datetime.datetime.min和datetime.datetime.max属性.为了优化,我想将它们导入到本地命名空间,避免重复的,不必要的模块层次结构名称查找,如下所示:
from datetime.datetime import now, min, max
Run Code Online (Sandbox Code Playgroud)
然而,Python抱怨:
Traceback (most recent call last):
File "my_code.py", line 1, in <module>
from datetime.datetime import now, min, max
ImportError: No module named datetime
Run Code Online (Sandbox Code Playgroud)
问题: 为什么上述子模块导入不起作用?
解决方法: 我可以这样做:
import datetime
dt_now = datetime.datetime.now
dt_min = datetime.datetime.min
dt_max = datetime.datetime.max
Run Code Online (Sandbox Code Playgroud)
但是,我很好奇为什么更传统的方法不起作用?为什么我不能直接从datetime.dateime子模块导入方法和属性?...并且,有没有理由避免上述解决方法(除了可读性,超越自己等)?
谢谢!
我在目录中有一个带子模块的git存储库,projects/myRepo我想将目录重命名为projects/my-repo.
根据这个问题,它可以简单地完成mv.但在子模块的回购中,git一直在告诉我
致命的:不是git存储库:projects/myRepo/.git/path/to/submodule```
即使是git status.
子模块配置:
[submodule "path/to/submodule"]
path = path/to/submodule
url = https://github.com/user/projectName.git
Run Code Online (Sandbox Code Playgroud)
不知何故,子模块的"内部路径"没有更新?!有没有办法告诉git更新这些子模块路径?
我有几个要维护的项目页面,并且它们都使用相同的主题(我将它打包成一个单独的repo,它被调用KYProjectPageTheme).
只需将KYProjectPageTheme整个文件夹复制到gh-pages分支的根目录,然后将其推送到Github即可.当静态页面成功构建时,我会收到通知.
但是,我想KYProjectPageTheme在gh-pages分支下添加子模块.这在我的本地机器上运行良好.但当我把它推到Github时,我再也收不到通知了!并且静态页面仍处于先前状态,即在我添加子模块后修改没有影响.
我猜想当gh-pages分支中有子模块时,Github的静态页面生成器将无法工作.但实际上,我不需要生成器来生成静态页面,我只需要修改HTML中的页面并将其推送到gh-pages.为什么不index.html更新?
任何的想法?是否有一些解决此问题的解决方法?
提前致谢!
我总是忘记推子模块.有时我忘了补充--recurse-submodules=check到git push.更糟糕的是,我团队中的其他人也可能会这样做.git config我们可以设置一个选项来设置check默认值吗?
我知道使用--depth选项可以使用浅子模块git submodule update.
但是,如果我跑
git submodule update --init --recursive --depth 1
Run Code Online (Sandbox Code Playgroud)
在我的项目中有几个子模块,我得到了一个fatal: reference is not a tree.所以我再次尝试过
git submodule update --init --recursive --depth 100
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但我想保持深度为1.
在我看来,--depth 1拉出子模块中的最新提交,而不是主存储库指向的提交,这就是为什么将其设置为100解决了问题,因为它提取了更长的提交列表,包括指向的提交.
不幸的是,如果是这种情况,那么我通常不能确定最新的100次提交包括我需要的提交.
我如何告诉git使用尖头提交而不是使用子模块的浅层克隆中的最新提交?
我在Windows上使用git 1.9.4.
如何将现有的子存储库添加为 git 中的子模块?
我有一个私人codespace超级模块,其子模块随机分散:
codespace (git repo, private)
??? Archived_projects (git repos)
??? Projects
??? project-foo (git repo)
??? project-bar (git repo)
Run Code Online (Sandbox Code Playgroud)
有时子模块有未准备好推送的提交。但我希望在推送 supermodule 时保存它们codespace。
codespace是克隆到c9.io工作区或其他地方的 repo 。
codespace (git repo, private)
??? Archived_projects (git repos)
??? Projects
??? project-foo (git repo)
??? project-bar (git repo)
Run Code Online (Sandbox Code Playgroud)
从cmd.exe
linus@machine /cygdrive/f/__Storage__/Workspace
$ git clone https://github.com/octocat/Spoon-Knife.git
Cloning into 'Spoon-Knife'...
$ cd Spoon-Knife/
$ git clone https://github.com/octocat/Spoon-Knife.git ./foo/bar
Cloning into './foo/bar'...
$ git …Run Code Online (Sandbox Code Playgroud) 我总是很难为提交编写好的git提交消息,除了提交子模块的更新之外什么也没做.我真正想写的是"只是阅读那些令人讨厌的子模块提交消息!"
也许稍微更好的解决方案是,确实存在着一些东西,去子模块并连接所有消息,因为先前的承诺它一些不错的方式是在并自动使得该消息?
我对"git submodule init"有一个奇怪的问题
当我使用"git submodule add url location"添加子模块时,它克隆了存储库就好了,一切正常.
当我将所有更改推回到父存储库,添加.gitmodules文件等并克隆存储库时,我尝试使用"git submodule init"初始化所有子模块
没有任何反应:(没有任何东西,没有输出,没有额外的文件,它甚至没有尝试做任何事情.
所以我想知道,我做错了什么?
.gitmodules:
bash$ cat .gitmodules
[submodule "projects/subprojectA"]
path = projects/subprojectA
url = ssh://user@bitbucket.company.com/test/projectA.git
[submodule "projects/subprojectB"]
path = projects/subprojectB
url = ssh://user@bitbucket.company.com/test/projectB.git
Run Code Online (Sandbox Code Playgroud) git-submodules ×10
git ×9
cloud9-ide ×1
commit ×1
datetime ×1
github-api ×1
github-pages ×1
import ×1
jekyll ×1
python ×1
repository ×1