Git:提取新提交时遵循合并

时间:2019-07-03 18:34:47

标签: git merge

假设我们有这些分支机构:

  • 主人
  • 开发
  • new_feature

我的本​​地仓库正在关注“ new_feature”。

其他人已将“ new_feature”合并到“ develop”上,并删除了服务器上的该分支(即“ new_feature”分支)。按预期完成该功能。

我想要一种自动/脚本化的方式来检测分支已被合并,目标分支,并在本地检出该分支(并删除本地的“ new_feature”分支)。

PS:在这种简化的情况下,可以放弃分支上的本地更改。

有人吗?

1 个答案:

答案 0 :(得分:0)

我找到了部分解决方案。

检测是否进行拉动:

  

如果! git pull --all --prune;然后

该分支已被远程删除,因此不再存在引用。但是我们知道最新的本地信息以及该(本地)分支的最新提交。让我们看看这个提交在哪里被合并(感谢@joanis):

  

ORIGIN = $(git branch --remotes --merged“ HEAD” | grep -v HEAD)

提交可以出现两次,我们去掉了“-> HEAD”行。 我们需要找出名称:

  

BRANCH =“ $ {ORIGIN / origin /}”

     

BRANCH =“ $ {BRANCH // /}”

让我们转到新分支:

  

git结帐“ $ BRANCH”   git pull

这种情况的限制是,如果有多个分支已合并到该分支中。该算法将按照“ git branch”列出的顺序选择其中的一个。