所以这有点愚蠢,但是昨天我合并了一个分支,其中目标分支似乎已在某个时刻被删除,并且源分支已配置为在合并后删除。我有点困惑为什么 Gitlab 首先让我这样做,但现在我想知道更改是否会丢失。
由于我在本地仍然有更改,我认为我可以相对容易地从我应该合并到的分支中分支出来,但是出于好奇 - 并且因为这会为我节省一些尴尬,坦率地说,我仍然想知道这里是否没有其他解决方案。 如果有帮助的话,我的机器上本地仍然有错误的、现在不存在的目标分支。拉动它会产生:
Your configuration specifies to merge with the ref 'refs/heads/wrong-target-branch'
from the remote, but no such ref was fetched.
合并的分支仍然存在于我的本地计算机上。
另一方面,在第二个工作流程中,用户为待处理的更改创建一个持久分支。即使合并请求被接受后,分支仍然存在。然后,用户通过拉取目标分支来更新分支,进行新的提交,并创建新的合并请求。
如果您更喜欢第二种工作流程,可以进入存储库设置 -> 常规 -> 合并请求,取消选中“默认启用‘删除源分支’选项”选项,这样源分支就不会被意外删除。创建存储库时默认选中该选项。
如果任何分支被意外删除,您可以使用命令
git push origin $commit:$branchname
重新创建它。提交是分支指向的头部。