我经常发现自己在打字:
git push remote1 branch1 branch2 tag1 tag2 tag3..
git push remote2 branch1 branch2 tag1 tag2 tag3..
我更喜欢一个别名,我可以在其中输入:
git pushall branch1 branch2 tag1 tag2 tag3 ..
注意:我知道我可以使用多个 url 创建一个新的远程“all”。让我们在这里不讨论这个,而是关注别名!
我可以硬编码远程名称,因为我有许多具有相同多个远程名称的项目(通常是“drupal”和“github”)。
迄今为止的进展
我已经想出了一个非可变版本:
[alias]
pushall = "!git push github $1; git push drupal $1; #"
这里有两个技巧
- 使用双引号来防止';'
.ini
在文件中具有特殊含义 #
忽略该行的其余部分。
但这一次只会推送一个分支(或标签)。所以我必须输入这个:
git pushall branch1
git pushall branch2
git pushall tag1
git pushall tag2
git pushall tag3
...
我更喜欢一个别名,我可以在其中输入:
git pushall branch1 branch2 tag1 tag2 tag3 ..
为什么不使用具有多个推送 url 的新远程“全部”?
如前所述,让我们关注别名,以便读者找到他们正在寻找的东西。
无论如何,这就是我不创建远程“全部”的原因:
- 每个项目我都必须这样做一次,并且不能在全球范围内这样做。就我而言,在全局别名中硬编码远程名称实际上很好!
- Afaik,我会用“all/branch1”之类的引用来污染我的历史,而不是“remote1/branch1”和“remote2/branch1”。
讨论这个问题的正确地方是这里,从多个远程位置拉/推
也可以看看
以下是相关的,但它们不涉及可变参数:
以下内容可能会有所帮助,但它针对的是纯 shell 脚本,而不是专门的 git 别名: