Hugo 不使用本地 git config

我正在尝试使用带有个人访问令牌的私有主题/模块。我可以通过将以下内容添加到我的全局.git config


git config --global url."https://{USER}:{TOKEN}@github.com".insteadOf "https://github.com"


然后运行它将按预期拉取更改。我不希望在我的全局配置中设置这个集合,如果我在本地设置它,我会收到一个错误,因为Go似乎没有使用本地配置。hugo mod get -u


在站点/存储库的根目录中本地设置我的配置:


git config --local url."https://{USER}:{TOKEN}@github.com".insteadOf "https://github.com"


然后运行我得到以下错误:hugo mod get -u


go get: module github.com/USER/REPOSITORY: git ls-remote -q origin in /var/folders/26/gqnv01_55p964v8yz39d51fw0000gn/T/hugo_cache/modules/filecache/modules/pkg/mod/cache/vcs/b410fc7b91fbc1121b5f6ec2bb2711c27cd172b4084c213e1430a33cde552597: exit status 128:

    remote: Repository not found.

    fatal: repository 'https://github.com/USER/REPOSITORY/' not found

如何让 Go/Hugo 使用我的本地 git 配置而不是全局配置?


波斯汪
浏览 98回答 2
2回答

www说

我通过将目录替换映射添加到站点的配置中来解决此问题,而不是修改git url。这指向我的本地克隆主题,并在我修改主题时更新服务的网站。module:      imports:        path: 'github.com/[USER]/[REPO-NAME]'      replacements: 'github.com/[USER]/[REPO-NAME] -> ../../[REPO-NAME]/'

胡说叔叔

从 hugo mod 源代码中,将在你的项目中查找一个:hugogo.modfilepath.Walk(dirname, func(path string, info os.FileInfo, err error) error {    if info.IsDir() {        return nil    }    if info.Name() == "go.mod" {        // Found a module.        dir := filepath.Dir(path)        fmt.Println("Update module in", dir)检查你的go.mod在哪里,然后做(在那个父文件夹中):go.modgit config -l --show-origin --show-scope这将告诉您预期的本地配置是否真的存在。查找任何指示嵌套 git 存储库/子模块的文件夹,这将忽略您的初始命令.gitgit config --local像34513这样的问题似乎表明,这不会考虑本地存储库:go modgit 配置仅影响基础 git 存储库上的操作。您看到的错误来自在此之前,当命令尝试解析所请求的包路径的存储库时。go官方文档仅引用全局配置 。.gitconfig
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go