Подтвердить что ты не робот

Переименование удаленной ветки git

У меня есть 2 git ветки: мастер и экспериментальный.

Эксперимент стал хорошим, я хочу сделать его хозяином. Я решил, что переименую, чтобы перетасовать вещи, но вот что я получил:

nutebook:Stuff nathan$ git remote rename master old
error: Could not rename config section 'remote.master' to 'remote.old'

Я использую GitHub и Git -Tower.

4b9b3361

Ответ 1

Ниже приведено руководство по переименованию главной ветки. Это будет так же легко переименовать вашу экспериментальную ветвь.

Вот как я переименовал.

Во-первых, в рабочем дереве локально переименуйте мастер на что-то иначе.

git branch -m master old-dev

Переименование ветки работает, пока вы находитесь на ветке, поэтому нет необходимости проверять что-то еще.

Затем локально переименуйте ветвь обслуживания (2.63-ветвь) на мастер:

git branch -m 2.63-branch master

Теперь время для путаницы. На всякий случай, если ты испортишь, ты может потребоваться убедиться, что у вас есть текущая резервная копия. Сначала удалите удаленный мастер:

git push origin :master

И теперь дайте удаленному вашему новому хозяину:

git push origin master:refs/heads/master

Обновление: при создании нового ветки префикс refs/heads/prefix необходимо на удаленной стороне. Если ветвь уже существует (как мастер сделал выше) на удаленной стороне требуется только название ветки.

... и ваш теперь переименованный старый мастер:

git push origin old-dev:refs/heads/old-dev

Наконец, удалите старое имя ветки обслуживания, чтобы предотвратить путаница:

git push origin :2.63-branch

Теперь клиенты получат "новую" ветвь master, когда они тянут.

см. этот сайт.

Ответ 2

Я думаю, что самый простой способ - проверить экспериментальную ветку, удалить удаленную ведущую ветвь, а затем нажать локальный экспериментальный вариант как новый удаленный мастер.

// delete the remote master branch by pushing null
// (the space in front of the semicolon) in this branch
git push origin :master
// push local experimental to remote master
git push origin experimental:master

Ответ 3

master - это ветвь, а не удаленная, например origin. если вы хотите, чтобы ваша экспериментальная работа была связана с вашей главной ветвью, просто объедините ее в:

git checkout master
git merge experimental

Ответ 4

Если вы являетесь пользователем Mac, вы можете использовать приложение Mac GitHub (https://mac.github.com/) для переименования ветвей.

Ответ 5

Что вы пытались сделать, это переименовать удаленное репо с "master" на "old". Чтобы переименовать ветку на другое репо, просто удалите ее с помощью

git push <remote> :<branch name>

затем нажмите его как что-то еще.