jmi*_*ite 125 git version-control github git-submodules hakyll
根据本指南,我试图让TravisCI自动部署我的Hakyll静态站点.
这是我的回购设置的方式.我有我的源代码分支,其中包含我的hakyll和markdown文件.它将html构建到_site目录中,该目录设置为子模块,链接到我的master分支.
我没有问题地构建网站,然后cd进入_site目录.但是,当我尝试git add ./*新生成的HTML文件时,我收到以下错误:
fatal: Pathspec './about.html' is in submodule '_site'
Run Code Online (Sandbox Code Playgroud)
当我尝试时git add --all,我收到此错误:
git: pathspec.c:317: prefix_pathspec: Assertion `item->nowildcard_len <= item->len && item->prefix <= item->len' failed.
/home/travis/build.sh: line 245: 1566 Aborted git add --all
Run Code Online (Sandbox Code Playgroud)
造成这种情况的原因是什么,我该如何避免这种情况?
您可以在此处查看存储库.
fif*_*nce 377
从git中删除目录并再次添加它对我有用:
git rm --cached directory
git add directory
Run Code Online (Sandbox Code Playgroud)
如果你有意删除了.git目录,因为你想要添加directory到你的主git项目,这是有效的.在我的具体案例中,我让git克隆了一个扩展并且git add .没有想太多就跑了.Git决定创建一个我不喜欢的子模块.所以我删除directory/.git并遇到了Git: fatal: Pathspec is in submodule.我无法找到如何删除子模块的东西.修复了上面的两行.
M. *_*ard 18
我想让子目录不再是 git 子模块。这对我有用:
$ mv subdir subdir2
$ git rm --cached subdir
$ mv subdir2 subdir
Run Code Online (Sandbox Code Playgroud)
Von*_*onC 10
看起来git add上下文是父repo("parent"表示包含子模块的那个),它会触发警告.
尝试并更改其上下文:
cd _site
git --git-dir=.git --work-tree=. add .
git --git-dir=.git --work-tree=. commit -m "new files"
Run Code Online (Sandbox Code Playgroud)
不要忘记,如果这样做,你仍然需要回到父回购,并且git add _site,因为subrepo会有变化.
你必须推动两者.
2017年1月更新(2年后)
使用Git 2.12,你将不会再看到它prefix_pathspec: Assertion了.
见Stefan Beller()提交2d81c48(2017年1月9日).
帮助:Jeff King()和Junio C Hamano().(通过合并JUNIOÇ滨野- -在提交00880a1,2017年1月18日)stefanbellerpeffgitster
gitster
pathspec:为子模块相关pathspec错误提供更好的消息
git add a/b当"a"是正确错误的子模块时运行" " ,但没有有意义的错误消息.
听起来您正在操作未初始化的子模块(它们基本上缺少.git目录),因此您应该首先初始化它们并更新:
git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)
否则,如果您不再需要该子模块,请通过以下方式将其删除:
git submodule deinit _site
Run Code Online (Sandbox Code Playgroud)
或者:
git rm -f --cached _site
Run Code Online (Sandbox Code Playgroud)
并再次添加:
git add _site
Run Code Online (Sandbox Code Playgroud)
通过以下方式检查当前未完成的子模块:git submodule status。
另请参阅:为什么 git 在 git add 上出现“断言失败”错误?
| 归档时间: |
|
| 查看次数: |
62689 次 |
| 最近记录: |