Git 自动为上游分支名称添加前缀

Git automatically add prefix to upstream branch name

在有很多贡献者的存储库中工作时,用你的名字(或其他标识符)作为所有分支的前缀是很常见的。但是,我不喜欢每次要切换分支时都必须输入我的名字,所以我通常将其从本地分支名称中删除。

所以例如第一次推送我通常使用 git push -u origin HEAD:daniel/branch-name,当我检查一个新分支时我以前从另一台机器推送我使用 git checkout -b branch-name --track origin/daniel/branch-name.

但是,我已经在更改或操作分支时输入我的名字以输入更多内容来设置新分支。有什么方法可以自动执行此操作吗?

更新: 当我输入问题时,我想到了答案,所以我已经回答了我自己的问题,但我仍然更喜欢获得 git 本地执行此操作。

就像我调用 git push -u origin branch-name 一样,我希望它等同于 git push -u origin branch-name:daniel/branch-name。如果我想要其他东西,我可以像 git push -u origin branch-name:branch-name.

一样手动指定

同样,当我调用 git checkout new-branch 时,如果新分支不存在并且没有远程具有匹配的跟踪分支,在放弃并返回错误之前,搜索匹配 [=17= 的跟踪分支].

这可以使用别名来解决。这些是我想出的别名:

push-new=!"git push --set-upstream origin HEAD:daniel/$(git symbolic-ref HEAD | sed -e 's/^refs\/heads\///')"
checkout-new="!f() { git checkout -b  --track origin/daniel/; }; f"