【发布时间】:2022-01-08 02:48:46
【问题描述】:
我正在使用 GitHub 操作,我正在尝试获取合并到 master 中的最后一个分支并使用该分支。我目前正在尝试使用。
echo "::set-output name=branch::$(git branch --merged master | tail -1)"
我在 action.yml 中使用它。我只是从中获得大师,而不是我合并的其他分支。有谁明白为什么会这样。我什至事先进行了一次获取,以确保正确的信息在本地机器上。我的假设是,一旦它们合并,它就不会关闭分支。这有可能吗?
干杯,
【问题讨论】:
-
你可能让 GitHub 做了一个单分支克隆。在任何情况下,您都希望
git branch -r --merged master用于任何正常克隆,因为克隆不会复制分支名称(而是将它们重命名为远程跟踪名称)。 -
嘿@torek 感谢您的洞察力,我尝试添加 -r 标志,该标志将 origin/master 添加到列表中,但没有拉入任何其他合并和关闭的分支。您提到单分支克隆。有没有办法让克隆人拿走所有的树枝?
-
是:使用“checkout@v2”操作将深度设置为 0,或使用较旧的 (v1) 结帐操作。
-
@torek 我已经在 Github 中尝试过这个动作,即使我在 checkout@v2 中使用“0”的深度,它也会继续拉动原点/主控。
-
我不知道你这里的“拉”是什么意思。 Git 命令
git pull是由humans: 运行的,它的意思是运行git fetch,然后运行第二个Git 命令。永远不要在任何自动化中使用它,因为控制这两个命令太难了。相反,自动化软件应该单独运行每个命令。这给了你更多的控制权。 (然后您需要发布您正在运行的实际命令。)
标签: git github github-actions