"Virtual"或 Git 中的"view"分支(在 GitHub 上)



我们是一个使用github的小型组织。我们有一个非常简单的工作流程;功能和修复分支是从源/开发分支创建的,当开发人员认为分支已准备好合并时,拉取请求将重新打开到开发中。然后我们进行代码审查和 QA。

这通常意味着一次有三到四个打开的 PR,并且从打开 PR 到团队批准并合并到开发之间有 1-5 天的滞后。

在本地,我已经开始保留一个"未来"分支,基本上只是开发 + 任何开放的 PR。这让我自己的夜间构建尽可能完整,并让我更早地发现可能的冲突。

所以:我有兴趣让这个future分支可供团队的其他成员使用。不过,我可以看到这变得有点复杂:目前,如果 PR 关闭,我只是核弹我的本地分支,然后从开发中再次重建。这非常容易。但是,如果其他人拥有自己的本地副本,情况会变得有点复杂。我总是可以强制将我自己的工作副本推送回原点,但是对于检查它的人来说,就会有冲突。

理想情况下,我可以有某种"虚拟"分支,它只是在给定时间提供代码库的最新快照,人们可以对其进行更新和构建。

这样的事情存在吗?有没有其他方法可以获得我所说的那种功能?

但是对于检查它的人来说,就会有冲突。

只有当他们通过合并"检查出来"时。如果他们只是获取 ref 然后直接检查出来,则不涉及合并 - 他们将拥有分支中的内容。

git fetch origin
git checkout origin/future

上面的命令将从origin远程获取 refs,然后直接查看 ref,这是 originfuture 副本。

同样,如果他们想要保留本地副本,他们可以强制更新它,而不是尝试合并新的更改:

git fetch origin
git checkout -B future origin/future

然后,如果您更新本地分支,并希望强制更新远程,则可以执行以下操作:

git push origin future --force

最新更新