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(-)