我们在构建Maven工件时存储当前checkout的SHA-1,因此我们可以使用“git checkout SHA-1”返回用于制作工件的确切提交。这导致分离的HEAD不属于任何分支。
然后我可以使用“gitk --all”。以可视方式识别提交所属的远程分支,但我想知道相应的git命令,用于建立当前提交“属于”的分支(编辑:因为可能在分支上修复了其他错误)因为这个特殊的构建)。
答案 0 :(得分:6)
$ git branch -r --contains <SHA-1>
这可能会为您提供多个分支,并且不会告诉您哪个是最近的分支。
答案 1 :(得分:1)
来自git help branch
使用--contains,仅显示包含命名提交的分支 (换句话说,提示提交的分支是 命名提交的后代)。使用--merged,只有分支合并到命名提交(即提交提交的分支) 将列出从命名提交可到达的。使用--no-merged只会将分支未合并到命名提交中 上市。如果缺少参数,则默认为HEAD(即当前分支的尖端)。
所以我猜你正在寻找git branch --contains SHA-1
要列出远程分支,首先需要获取所有远程分支,然后为上述命令提供-r
选项。
git fetch
git branch -r --contains SHA-1