我通常会更新我的本地分支:
$ git fetch
$ git status
# On branch develop
# Your branch is behind 'origin/develop' by 1 commit, and can be fast-forwarded.
#
nothing to commit (working directory clean)
$ git merge --ff-only origin/develop
无论如何在没有命名远程分支的情况下编写最后一个命令?从git状态很明显,git知道当前分支是跟踪origin / develop。所以我正在寻找类似的东西:
$ git merge tracking
这样做的原因是,来回切换时很容易输入错误的分支(正如你可以看到我在这里使用--ff-only
作为安全防范)。
答案 0 :(得分:3)
将选项merge.defaultToUpstream
设置为true:
git config merge.defaultToUpstream true
并且您可以省略要合并的提交:
git merge --ff-only
答案 1 :(得分:2)
您可以使用develop@{upstream}
或更短的develop@{u}
来引用设置为develop
分支的上游的分支。如果在@
之前没有提供分支名称,它将默认使用当前分支,因此当您在该分支上时,您只能使用@{u}
。
这些类型的引用将适用于其他命令以及合并,例如,您可以获得将与命令合并应用的提交列表:
git log ..@{u}
有关指定修订的部分,git rev-parse的手册页中记录了这一点。