我创建了一个远程分支,比如说“ branch_a
” origin/main
。然后为了使分支保持最新,我做了以下操作:
git fetch origin
git merge origin/main
我希望这是正确的方法之一?我的意思是 git rebase 也可以。但git merge origin/main
我想这也是合法的吧?
基本上,我在执行这些命令后在 gitlab 中看到的是“将远程跟踪源/主合并到分支_a”。是的,我使用 gitlab。
现在的问题是,删除这个远程分支branch_a
而不影响任何东西是否安全?
如果我做错了什么,请建议最佳做法。
嗯,这取决于多种因素以及“不影响任何事物”意味着什么。
在分支存在时运行的用户
git fetch
将永远拥有它,git branch -r
直到他们运行git fetch --prune
。它只占用空间并且可能会造成混淆,但不会破坏任何东西。从中创建本地分支并让 Git 自动设置远程分支的用户
git checkout <BRANCH>
将无法再从中提取。针对此分支的任何 PR 都应立即关闭,至少 Bibucket 和 GitHub 是这么做的。
推送新分支可能会触发 CI 系统构建,具体取决于它的配置方式以及它拉取存储库的次数,它可能会在某个时候崩溃,因为分支尖端的提交已经消失。
在大多数情况下,这些都不是严重问题,特别是如果您没有要求任何人检查分支(尽管有些用户可能会自己这样做)。如果您在本地拥有它并且其他人可能再次需要它,您可以在接下来的 30 天内重新推送它或从 reflog 中恢复它。
是的,将主分支合并到远程分支 (branch_a) 后,删除该分支是安全的。您将主分支合并到分支_a,这意味着分支_a 现在已更新了主分支的所有更改。如果您在分支_a 中有任何重要的新更改,请确保在本地或远程删除分支_a 之前向主分支发出拉取请求。