如何与上游分支进行通用合并
How to do generic merge with upstream branch
我在脚本中有这个:
git fetch origin
git pull # merge with remote tracking branch
git merge 'origin/dev'
而不是上面的,我想将其简化为:
git fetch origin
git merge @upstream # whatever the lingo is to refer to the upstream branch?
git merge 'origin/dev'
引用上游(也称为远程跟踪?)分支的通用方式是什么?
在您的情况下,您需要文字序列:
git fetch origin
git merge @{upstream}
git merge origin/dev
(我去掉了单引号,因为它们在这里并没有真正实现任何东西)。
@{upstream}
的描述出现在 the gitrevisions documentation 中,相当密集1,随着时间的推移值得多次重读。它实际上是一个 后缀 你可以应用于任何分支名称:
master@{upstream}
develop@{upstream}
等等。当应用于HEAD
——当前分支名称——在HEAD@{upstream}
中,它指的是当前分支的上游,正如你所期望的那样。2 添加连同通常的 "empty string means HEAD where appropriate" 规则——例如,master..
是 master..HEAD
的缩写——而 @{upstream}
是 HEAD@{upstream}
.
的缩写
请注意,如果没有为分支设置上游,<em>name</em>@{upstream}
将失败(并显示错误消息)。您还可以对 gitrevisions 规则可接受的任何事物使用 git rev-parse
,将其转换为更基本的 Git 表达式。这有时在复杂的脚本中很有用,因为它允许您找到一个哈希 ID,即使 name 在您继续对存储库进行操作时发生变化,您也可以保留它。
1"Dense" 是 "packed with information" 的意思,而不是 "stupid" 的意思;但也 "dense" 在难以理解的意义上。
2"Might" 可能比 "should" 更好,因为有时 Git 会做一些令人惊讶的事情,除非你知道所有种类Git.
中有关实现技巧的详细信息
我在脚本中有这个:
git fetch origin
git pull # merge with remote tracking branch
git merge 'origin/dev'
而不是上面的,我想将其简化为:
git fetch origin
git merge @upstream # whatever the lingo is to refer to the upstream branch?
git merge 'origin/dev'
引用上游(也称为远程跟踪?)分支的通用方式是什么?
在您的情况下,您需要文字序列:
git fetch origin
git merge @{upstream}
git merge origin/dev
(我去掉了单引号,因为它们在这里并没有真正实现任何东西)。
@{upstream}
的描述出现在 the gitrevisions documentation 中,相当密集1,随着时间的推移值得多次重读。它实际上是一个 后缀 你可以应用于任何分支名称:
master@{upstream}
develop@{upstream}
等等。当应用于HEAD
——当前分支名称——在HEAD@{upstream}
中,它指的是当前分支的上游,正如你所期望的那样。2 添加连同通常的 "empty string means HEAD where appropriate" 规则——例如,master..
是 master..HEAD
的缩写——而 @{upstream}
是 HEAD@{upstream}
.
请注意,如果没有为分支设置上游,<em>name</em>@{upstream}
将失败(并显示错误消息)。您还可以对 gitrevisions 规则可接受的任何事物使用 git rev-parse
,将其转换为更基本的 Git 表达式。这有时在复杂的脚本中很有用,因为它允许您找到一个哈希 ID,即使 name 在您继续对存储库进行操作时发生变化,您也可以保留它。
1"Dense" 是 "packed with information" 的意思,而不是 "stupid" 的意思;但也 "dense" 在难以理解的意义上。
2"Might" 可能比 "should" 更好,因为有时 Git 会做一些令人惊讶的事情,除非你知道所有种类Git.
中有关实现技巧的详细信息