如何使用一个命令git获取/拉出过时的未更改分支?

时间:2015-10-26 20:27:46

标签: git merge fetch

好吧,假设我们有一个名为MAIN的主分支。

假设我创建了一个名为100的本地分支。

稍后,有人在自己的机器上创建一个名为101的本地分支。

稍后,他们对其本地101分支进行更改,然后将更改合并回MAIN

稍后,我决定我终于准备好对100进行一些修改。
但是,我知道MAIN已经改变了。我想制作一行git语句,用MAIN中的内容更新我的本地100分支。

有吗?

通常,我会执行以下一系列步骤

git checkout MAIN
git pull
git checkout 100
git merge MAIN

如何将这一系列步骤合并为1个命令,将MAIN's分支拉入我的本地100分支(目前不包含任何更改)?

2 个答案:

答案 0 :(得分:3)

您可以减少命令的数量,但是有一系列不同的步骤是您无法跳过的,而且无意义要合并:

  • 选择分支
  • 获取原点
  • 合并更改

Git没有为执行这三个不同且不相关的操作提供神奇的单一方法。你最接近的就是编写自己的高级命令,或者只在一个林中执行三个命令:

git checkout 100 && git fetch && git merge origin/MAIN

答案 1 :(得分:1)

单行命令

您可以随时使用(cc cc);作为ordet中的分隔符使用单行

;

作为最佳实践,您应始终使用要拉/合并的分支名称。仅在git v2.0中,匹配值已从git checkout 100; git fetch --all--prune; git pull origin MAIN 更新为simple,因此不会将所有分支推送到远程。

Git别名

您始终可以设置别名,这样可以获得参数,并在需要时放置它们。

例如:(在你里面〜/ .gitconfig添加这一行)

matching