登录
首页 >  Golang >  Go问答

使用go-git添加git子模块:

来源:stackoverflow

时间:2024-02-18 22:00:26 352浏览 收藏

你在学习Golang相关的知识吗?本文《使用go-git添加git子模块: ,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

tldr

我一直在搜索软件包文档和官方示例,但无法弄清楚如何描述使用 go-git 添加子模块。我正在尝试向 git 子模块添加 ,并将其配置为稀疏结账

目标

我想使用 golang 的 go-git 包转换以下列表。我的总体目标是拥有一个稀疏签出的子模块,该子模块来自 repo-a,然后整个存储库将来自 repo-b。我正在尝试从 repo-a 获取内容,进行一些编辑并重新组织,然后将结果推送到 repo-b。我在下面包含的所有内容都是第一步,特别是如何从头开始配置这个 repo+submod。

git init

git 远程添加 -f

git克隆--深度= 1 --no-checkout

git 子模块添加

  • 不知道如何调用它,我认为可以直接编辑 .git 目录,但这看起来很混乱。如有任何解释或建议,我们将不胜感激。

git 子模块吸收gitdirs

  • 不确定是否需要这样做,我找不到关于它的作用的详细描述,但似乎无论如何都不会引起问题?

git -c pinkbrain config core.sparsecheckout true (注意:仅适用于子模块)

  • 不知道如何使其工作,因为它是 .git 配置,但仅适用于子模块。也许只是创建一个新的 git.plainopen() 对象并以这种方式访问​​其工作树?

echo“cir-1”>>.git/modules//info/sparse-checkout

echo "cir-2" >>.git/modules//info/sparse-checkout

git 子模块更新 --force --checkout

  • 不确定这是否需要两次单独的调用? worktree.pull() & worktree.pull(),参见下面的代码。

git pull main

git 添加 .

git commit -s -m "提交示例消息"

我的问题

  1. 如何使用 go-git 添加子模块?
  2. 我需要单独的 sw.checkout(&git.checkoutoptions 位吗?如果需要,我应该按什么顺序执行它们?
  3. 如何在主存储库或子模块中配置稀疏结帐?
  4. git 子模块 absorbgitdirs 有什么想法吗?任何有关它是什么的信息将不胜感激

到目前为止我所得到的(浓缩)

注意:我还有更多,但与我的问题无关

该位仅用于子模块更新,因为 go-git 文档不允许 --checkout 作为 git.pulloptions() 的一部分

// Should be equivalent to : git submodule update --force --checkout 
// Get the repo object (could be git.plainOpen() too)
r, err := git.PlainClone(directory, false, &git.CloneOptions{
    
})

// Get the Submodule WorkTree object
w, err := r.Worktree()
sub, err := w.Submodule(submodule)
sr, err := sub.Init()
sw, err := sr.Worktree()

// Get the Update the Submodule
err = sw.Pull(&git.PullOptions{
    
}

// Checkout the submodule, Not sure if this is the right order?
err = sw.Checkout(&git.CheckoutOptions{
    
}

正确答案


submodule.gosubmodule_test.go目前的状态来看,添加子模块似乎没有实现。

这意味着您需要自己使用 client.goexec.Command git 子模块 add

以上就是《使用go-git添加git子模块: 》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>