Как переименовать локальные и удаленные ветки git
Если вы неправильно дали название ветки и поместили в удаленный репозиторий, выполните следующие шаги, пока никто из разработчиков не заметил, что вы не следовали соглашению по именованию.
1. Как переименовать локальную ветку
Если вы хотите переименовать ветку, на которой находитесь
git branch -m new-name
Копировать
Если вы на другой ветке:
git branch -m old-name new-name
Копировать
2. Удалите удаленную ветку old-name и добавьте локальную ветку new-name
git push origin :old-name new-name
Копировать
3. Снова добавьте ветку для локальной ветки new-name
Переключитесь к ветке и дальше задайте:
git push origin -u new-name
Копировать
Как более быстрый способ, вы можете использовать следующие шаги (команда для вашего терминала):
git branch -m old_branch new_branch # Rename branch locally
Копировать
git push origin :old_branch # Delete the old branch
Копировать
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
Как изменить адрес origin репозитория в git?
Изменить origin адрес репозитория двумя способами:
1) Первый способ задать url репозитория:
использовать команду git remote set-url origin , например:
git remote set-url origin git@github.com:organization/wi-backend.git
Отредактировать файл .git/config : секция [remote «origin»] параметр — url.
Эти два способа идентичные. Т.е. вызов команды git remote set-url origin заменит содержимое git конфига. Пример содержимого файла .git/config:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = git@bitbucket.org:organization-name/project-name.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "main"] remote = origin merge = refs/heads/main [branch "1.2.0"] remote = origin merge = refs/heads/1.2.0
Git — смена репозитория для загрузки
Продолжаю изучение темы Git и GitHub. На повестке дня стоит вопрос — каким образом можно изменить ссылку существующего репозитория?
Нет — не так! Попробую зайти с другой стороны и сказать иначе. Имеется готовый репозиторий Template, размещенный на сервере GitHub. Этот репозиторий является шаблоном (template starter) при создании разнообразных проектов. Нечто похожим на известный HTML5 Boilerplate.
Репозиторий Template клонируется на локальную машину с именем разрабатываемого проекта, такой командой:
$ git clone https://github.com/gearmobile/template.git project
Затем в созданном репозитории Project разрабатывается требуемый проект.
Но есть одно НО — необходимо преобразовать видоизмененный репозиторий Project в отдельный, самостоятельный репозиторий. Конечно, по большому счету, это уже и есть отдельный, самостоятельный репозиторий.
Но вот ссылка у репозитория Project указывает на оригинал — репозиторий Template. И если произвести
push
на GitHub, то произойдет обновление репозитория Template.
А этого крайне нежелательно допустить, так как этот репозиторий является стартовым, чистым листом для всех новых проектов!
У меня же стоит такая задача — скопировать стартовый репозиторий Template на локальную машину, преобразовать его в конкретный проект, вновь залить на GitHub уже как самостоятельный репозиторий с именем проекта в качестве имени репозитория. Как поступить?
Можно решить вопрос несколькими способами. Ниже приведу пару из них — самых простых и доступных для моего понимания вечного newbie в Git\GitHub. Может быть, по мере освоения темы дополню статью более универсальным и грамотным способом.
Правка config
У клонированного на локальную машину репозитория ссылка на его удаленный оригинал размещена в конфигурационном файле
Github. Изменено имя у репозитория на Github
Поменял имя у репозитория в самом гите(то бишь, поменял имя у удаленного репозитория).
Теперь же, что бы я не делал, git push отказывается работать.
url через remote поменял, всё до одного места.
Отслеживать
27.2k 2 2 золотых знака 45 45 серебряных знаков 76 76 бронзовых знаков
задан 7 мая 2018 в 15:18
341 2 2 серебряных знака 13 13 бронзовых знаков
Не пробовали клонировать себе на компьютер репозиторий?
7 мая 2018 в 15:29
Как это сделать? Я просто туплю, гитом только начал пользоваться.
7 мая 2018 в 15:32
Вы что используете в качестве git? (какую программу)
7 мая 2018 в 15:34
либо он у вас в текстовый редактор\IDE встроен?
7 мая 2018 в 15:35
Если правильно понял Вас, через git bash
7 мая 2018 в 15:36
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Проще всего, на мой взгляд, в папке проекта открыть файл .git/config и переименовать remote соответствующим образом.
[remote "origin"] url = URL_TO_REPO_HERE fetch = +refs/heads/*:refs/remotes/origin/*
То же самое можно сделать командой:
git remote set-url origin
где для github, может быть:
- https://github.com/USERNAME/REPOSITORY.git
- [email protected]:USERNAME/REPOSITORY.git
Потом следует выполнить git fetch , чтобы убедиться, что всё работает.