Gitlab - 项目中的“roles@[hash]”是什么意思?

Gitlab - 项目中的“roles@[hash]”是什么意思?

roles @ hash在 gitlab 项目中是什么意思?

角色@哈希

单击角色时,它会转到角色文件夹。单击哈希时,它会转到名称仅为哈希的分支。

只是哈希

该分支不会显示在分支列表中(只能通过单击哈希来访问)并且不可编辑。运行器执行该“哈希分支”而不是主分支。

如何才能编辑那个奇怪的分支或者将执行的分支更改为主分支?

多谢!

编辑:

运行器成功停止执行作业,因此我想更新项目中的几项内容。但是,当更改这些内容(这会导致错误)时,运行器似乎仍在执行项目的旧版本。我猜它正在执行该哈希分支,可能是因为“roles@hash”的原因。但无法删除或更改该文件或任何内容。

答案1

这是另一个已添加到您正在浏览的存储库的存储库Git 子模块

该哈希不是一个分支,而是已提交到主存储库的目标存储库修订版的哈希。

要检出包含子模块的存储库,您需要指定参数--recurse-submodules

git checkout main --recurse-submodules

如果目标存储库已更改,而您需要在主存储库中更新它,则只需进入目录并提取较新的版本,就像使用常规 git repo 一样。然后您可以在父目录中提交它。

一个例子:

gerald@host:~/tmp/test$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
gerald@host:~/tmp/test$ cd test2
gerald@host:~/tmp/test/test2$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done.
From git.example.com:gerald/test2
   e4c940e..344b92d  main       -> origin/main
Updating e4c940e..344b92d
Fast-forward
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
gerald@host:~/tmp/test/test2$ cd ..
gerald@host:~/tmp/test$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   test2 (new commits)

no changes added to commit (use "git add" and/or "git commit -a")
gerald@host:~/tmp/test$ git commit -a -m "updated submodule test2 to current version"
[main 3d1857e] updated submodule test2 to current version
 1 file changed, 1 insertion(+), 1 deletion(-)

相关内容