#git #git-push #git-remote
#git #git-push #git-remote
Вопрос:
Когда я запускаю, git push
моя локальная ветка some_branch
отправляется в удаленную ветку some_remotesome_branch
.
Когда я запускаю git remote show some_remote
, я получаю:
Local refs configured for 'git push':
[cut]
some_branch pushes to some_branch
Я этого не хочу. Как мне удалить эту запись?
Ответ №1:
Возможно, самый простой ответ — переименовать вашу локальную ветку some_branch на другое имя, например, с помощью:
git branch -m some_branch a_branch_name_not_present_on_some_remote
Причина этого в том, что git push
по умолчанию каждая ветка перенаправляется в ветку с соответствующим именем на удаленном компьютере, если такая ветка там существует. Если вам не нравится такое поведение в целом, вам нужно изменить параметр конфигурации push.default.default по умолчанию. Например, вы могли бы сделать:
git config --global push.default tracking
git branch --set-upstream some_branch origin/totally_different_branch
Я здесь немного подробнее написал о поведении, git push
когда вы явно не указываете спецификацию refspec.
Комментарии:
1. Спасибо 🙂 Я пошел с конфигурацией.
Ответ №2:
Простой способ — отредактируйте это из вашего файла .git / config.
Комментарии:
1. Но есть ли способ извлекать данные из удаленной ветки, но не нажимать на нее?
2. @mathick — да, не используя push-pull / вытягивание. Запустите,
git remote update
который удалит все удаленные изменения, а затем вы получите rungit merge origin/<branchname>
вручную, чтобы получить текущие изменения из <branchname>3. Но как вы отправляете изменения на удаленный сервер? Может быть, вы имеете в виду модель «только для извлечения»?
4. @mathtick Вы спросили, как извлекать, но не нажимать, так почему вы сейчас спрашиваете, как нажимать?
5. Я думаю, я не совсем понял: как асимметрично нажимать / тянуть между ветвями (т. Е. иметь некоторые ветви как «только для извлечения» в определенном репозитории). Я, вероятно, неправильно использую git, задавая эти вопросы в любом случае 🙂