Начиная с Git 1.8.3, вы можете использовать опцию remote.pushDefault
, чтобы делать именно то, что вам нужно (т. Е. Иметь разные пульты по умолчанию для pull
и push
). Вы можете установить опцию, как и любой другой; например, чтобы установить его на пульте pushTarget
, используйте
git config remote.pushDefault pushTarget
Эта опция будет иметь следующий эффект:
git pull
будет извлекать данные с пульта, указанного параметром remote
в соответствующем разделе ветви в .git/config
, тогда как
git push
переведет на пульт, указанный remote.pushDefault
.
Обратите внимание, что вам нужно указать имя пульта, а не URL. Это делает это решение более гибким, чем решение, включающее remote.<name>.pushurl
, потому что (например) у вас все равно будут отслеживаться ветви для обоих пультов. Нужна ли вам эта гибкость или хотите, зависит от вас.
В примечаниях к выпуску говорится, что эта опция была добавлена специально для поддержки треугольных рабочих процессов.