为快进编写一个git别名,适用于任何跟踪分支?

kei*_*ant 6 git alias

我想创建一个别名来执行以下操作:

在工作master,我想git ff表演git merge --ff-only origin/master.但是当我跑进来maint执行时,我想要相同的别名git merge --ff-only origin/maint.同样适用于任何其他跟踪分支.这可能吗?

Cas*_*bel 6

感谢其他两个答案,但有一种更简单的方法,假设您的分支机构正在跟踪远程分支:

git pull --ff-only
Run Code Online (Sandbox Code Playgroud)

额外奖励:即使您的分支机构正在跟踪原点以外的仓库中的分支机构,或者跟踪名称不同的分支机构,这也会有效.它也很短.

  • @keith:如果你想让它在没有网络的情况下工作,我会接受 mipadi 的答案并将 `origin/$branch` 更改为 `$(git config --get branch.$branch.remote)/$(git config --获取 branch.$branch.merge)`。 (2认同)

mip*_*adi 5

我认为这可行:

[alias]
    ff = !sh -c 'branch=$(git symbolic-ref HEAD | cut -d '/' -f 3) && git merge --ff-only origin/$branch' -
Run Code Online (Sandbox Code Playgroud)