推送具有不同名称的远程特定分支
Push remote specific branches with different names
假设我们 origin
有一个名为 master
的分支,它将被检查;
>> git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'
现在我添加远程 fork
还带有一个名为 master
的分支,它将被检出;
>> git checkout -b fork-master fork/master
Switched to branch 'fork-master'
Your branch is up-to-date with 'fork/master'
这清楚地知道给定分支属于哪个远程,它甚至引用了正确的来源。
假设我想推送到原点,我会这样做;
>> git push
这将使用所有更改更新 origin/master (duh)。
下面是2个推送的例子;
Example 1 **Correct!**;
>> git push fork fork-master:master
Example 2 **Fails**;
>> git push fork --all
这会自动将所有 fork
分支推送到 origin
,除了分支 master
将被拒绝(以防发生更改)。
我认为示例 #2 会做的是将 fork-master
推到 fork/master
,但这并没有发生。
我可以一次推送所有远程特定分支,而不必将它们指向正确的远程分支名称吗?
我问是因为时不时有很多分支要push
配置default.push到上游
git config default.push upstream
然后,设置本地分支以跟踪相应的远程分支:
git checkout --track -b fork-master fork/master
使用git分支命令验证每个分支都有其当前的上游:
git branch -vv
然后您可以使用 git push <remote> <branch>
将每个 branch
自动推送到 branch@{upstream}
:
git push fork fork-master fork-test fork-updates fork-123
恐怕无法告诉 Git 将所有上游设置为特定远程分支的分支推送。
但无论如何最好通过在命令行上传递您想要推送的所有分支来具体说明。许多配置选项改变了推送的行为,所以最好是安全的。
假设我们 origin
有一个名为 master
的分支,它将被检查;
>> git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'
现在我添加远程 fork
还带有一个名为 master
的分支,它将被检出;
>> git checkout -b fork-master fork/master
Switched to branch 'fork-master'
Your branch is up-to-date with 'fork/master'
这清楚地知道给定分支属于哪个远程,它甚至引用了正确的来源。
假设我想推送到原点,我会这样做;
>> git push
这将使用所有更改更新 origin/master (duh)。
下面是2个推送的例子;
Example 1 **Correct!**;
>> git push fork fork-master:master
Example 2 **Fails**;
>> git push fork --all
这会自动将所有 fork
分支推送到 origin
,除了分支 master
将被拒绝(以防发生更改)。
我认为示例 #2 会做的是将 fork-master
推到 fork/master
,但这并没有发生。
我可以一次推送所有远程特定分支,而不必将它们指向正确的远程分支名称吗?
我问是因为时不时有很多分支要push
配置default.push到上游
git config default.push upstream
然后,设置本地分支以跟踪相应的远程分支:
git checkout --track -b fork-master fork/master
使用git分支命令验证每个分支都有其当前的上游:
git branch -vv
然后您可以使用 git push <remote> <branch>
将每个 branch
自动推送到 branch@{upstream}
:
git push fork fork-master fork-test fork-updates fork-123
恐怕无法告诉 Git 将所有上游设置为特定远程分支的分支推送。
但无论如何最好通过在命令行上传递您想要推送的所有分支来具体说明。许多配置选项改变了推送的行为,所以最好是安全的。