Разное

Git переименовать ветку: [Git] Переименование ветки (локально и удаленно)

Содержание

Как переименовать ветку git «master» в «release»?

мы хотели бы применить новую политику для наших проектов, чтобы главная ветвь теперь называлась ветвью выпуска, чтобы было более ясно, как использовать ветвь. Естественно, у нас также будут развиваться и выпускать филиалы-кандидаты.

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

git branch -m master release

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

Как я могу этого достичь?

EDIT: кажется, что, поскольку origin находится на сервере gitorious, я получаю ошибки удаления главной ветви. Я пытаюсь увидеть, можно ли изменить это так, чтобы ветвь по умолчанию была «release».

66

автор: Adam Dymitruk

5 ответов


git checkout -b release master    # create and switch to the release branch
git push -u origin release        # push the release branch to the remote and track it
git branch -d master              # delete local master
git push --delete origin master   # delete remote master
git remote prune origin           # delete the remote tracking branch

89

автор: Adam Dymitruk


оформить заказ master branch

git checkout master

создайте свою ветку выпуска и переключитесь на нее

git branch release
git checkout release

Нажмите это на сервер

git push origin release

удалить ссылку главной ветви на сервере

git push origin :master

удалить локальную ветку master

git branch -d master

8

автор: Jeff Ferland


Как ранее заявляли другие, проблема здесь Gitorious, что не позволяет удалить головную ветвь по умолчанию. У вас есть два варианта обойти эту проблему. Один из них-войти в gitorious server (с ssh), найти Git-репозиторий на файловом сервере и добавить:

[receive]
        denyDeleteCurrent = warn

в конфиге.

более простой вариант-просто изменить ветку по умолчанию. Перейдите в репозиторий в веб-интерфейсе gitorious, нажмите «Изменить репозиторий» и установите » изменить символический ref глава в репозитории git указывает на:». После этого вы можете удалить главную ветку.

2

автор: Aleksander Blomskøld


Примечание: этот ответ предназначен для автономных серверов git, где у вас есть доступ к командной строке.

С момента попытки удалить remote master от клиента действительно не допускается, и я предполагаю запрещение denyDeleteCurrent имеет смысл, я бы не хотел менять эту настройку.

однако, я обнаружил, что самый простой способ переименовать свой мастер если у вас есть доступ командной строки к удаленному серверу выполнить команду rename непосредственно на пульте.

это сработало для меня:

  1. войдите через SSH на удаленный сервер git
  2. перейти к xxx.папка git вашего проекта
  3. run:git branch -m master release

теперь удаленный репозиторий использует release как это ветка по умолчанию и все git clone в этом репозитории от любого клиента по умолчанию будет проверена ветвь выпуска.

очень полезно также После настройки голого репозитория, чтобы настроить его на свой по необходимости.

2

автор: Christopher Lörken


В идеале вы хотите настроить отслеживание, поэтому сделайте следующее:

git push origin HEAD:release
git checkout --track origin/release

теперь вы хотите удалить остальные?

git branch -d master
git push origin :master

просто!


Переименовать ветку на сайте github?

Я не знаю, как запускать командную строку, ну, у меня просто нет среды.

поэтому я пытаюсь переименовать ветку на веб-сайте github. По умолчанию он был назван «patch-1».

можно ли переименовать это на сайте?

31

автор: Vadim Kotov

4 ответов


Я думаю, вы можете просто создать новую ветку с новым именем и удалить старую на github.

Подробнее вы можете увидеть здесь.


18

автор: allenhwkim



невозможно переименовать ветку с веб-сайта Github. Вам нужно будет сделать следующее —

настройка среды Git

следуйте за этим -https://help.github.com/articles/set-up-git

переименовать ветку локально & на Github

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

6

автор: Nitish Dhar


Работа с ветками в GIT

Чтобы исправить баг или сделать новую фитчу в проекте, обычно создают новую ветку. Зачем? Чтобы избежать путаницы. Если бы все делалось в основной ветке, в проекте было бы сложно разобраться, особенно если над ним одновременно работает много людей.
Поэтому только по окончании работы над задачей изменения в ветке сливают в основную ветку master.

Создание ветки

Чтобы создать новую ветку testing локально, выполним команду:

$ git branch testing

На момент выполнения команды вы находились в какой-то ветке, допустим в master. Состояние этой ветки будет скопировано в ветку testing, и в testing можно будет редактировать файлы и делать снимки, не трогая пока основную ветку master.

Переключение на ветку

Предыдущая команда создаст ветку, но не переключит нас на нее, мы все еще останемся работать в старой ветке. Чтобы перейти на ветку testing и начать работать в ней, выполним команду:

$ git checkout testing

Имейте в виду, что GIT не позволит перейти на другую ветку, если в текущей ветке – в которой мы находимся – есть изменения, которые не зафиксированы (commit) либо не спрятаны (stash). Это нормально, ведь при смене ветке в текущем каталоге сменятся файлы,  и git-у надо знать, как быть с текущими изменениями.

Создание и переключение единой командой

Чтобы не выполнять предыдущие команды по очереди, можно написать их одной строкой:

$ git checkout –b testing

Эта команда создаст ветку testing и сразу переключит нас на нее. Обычно именно это и требуется сделать.

Как переключиться на чью-то ветку из удаленного репозитория

Важно понимать, что GIT не позволит вам работать над чужой веткой. Принцип такой – вы создаете локальную копию чужой ветки, и над ней уже работаете.

Но для начала надо обновить локальный репозиторий – скопировать в него все ветки, которые есть в удаленном репозитории:

git fetch

Теперь можно посмотреть, какие ветки есть в удаленном репозитории:

git branch -v -a

Допустим, там есть ветка dev1. Переключимся на нее, создав локальную ветку с таким же именем:

git checkout -b dev1 origin/dev1

Вообще-то можно было написать проще:

git checkout dev1

Но:

  1. Эта команда сработает только в том случае, если удаленный репозиторий у вас единственный. Если их два, например origin и upstream, то непонятно, на чью ветку переключаться.
  2. Она создаст локальную ветку с точно таким же именем dev1. А в полной версии можно было создать локальную ветку и с другим именем mydev1:
git checkout -b mydev1 origin/dev1

Как создать подветку ветки

Обычно мы ответвляемся от основной ветки master, но не всегда. Иногда требуется сделать ответвление от созданной ветки – так сказать,  ответвление второго порядка.

Предыдущая команда, с помощью которой мы создавали ветку:

$ git branch testing

создает ответвление от основной ветки master.

Если нам надо ответвиться не от основной ветки, а от вновь созданной testing, то выполним поочередно команды:

$ git checkout testing

$ git checkout -b subbranch_of_testing testing

Первая команда переключит нас на ветку testing.
Вторая команда создаст ветку с именем subbranch_of_testing, ответвляющуюся от testing, и переключит нас на нее.
Как понятно из имени, subbranch_of_testing – это подветка ветки testing.

Как посмотреть ветки

Чтобы увидеть все созданные локально ветки, выполним команду:

$ git branch

Появится список веток. Текущая ветка будет выделена звездочкой.

Как переименовать ветку

Иногда оказывается, что первоначально созданное имя ветки не самое лучшее. Его можно изменить.

Локальную

Если еще не выполнена команда push, то достаточно переименовать локальную ветку.

Чтобы переименовать локальную ветку, выполним команду:

$ git branch -m <old-name> <new-name>

Например, переименуем ветку testing в ветку test:

$ git branch –m testing test

Чтобы переименовать текущую ветку, выполним команду:

$ git branch -m <new-name>

Например, текущая ветка у нас subbranch_of_testing. Переименуем ее в subbranch:

$ git branch –m subbranch

Удаленную

Переименовать удаленную ветку (ветку в удаленном репозитории) нельзя. Можно удалить ее и отправить в репозиторий локальную ветку с новым именем:

$ git push origin :old-name new-name

здесь origin – имя удаленного репозитория (обычно удаленный репозиторий так называется),
old-name –  имя ветки локальной ветки,
new-name – новое имя ветки в удаленном репозитории.

Например, надо переименовать ветку testing в test:

$ git push origin :testing test

Удаление локальной ветки

Чтобы удалить локальную ветку, выполните одну из команд:

$ git branch -d branch_name
$ git branch -D branch_name

Флаги:
-D сокращение для –delete –force удаляет ветку независимо от того, слиты ли ее изменения
-d сокращение для –delete
Например, удалим локальную ветку test:

$ git branch –d test

Вообще-то локальную ветку обычно удаляют после того, как слили ее (выполнили merge) в ветку master, смотрите последний раздел в статье о слиянии веток.

Удаление ветки из удаленного репозитория

Чтобы удалить удаленную ветку, можно использовать две записи.
Либо через двоеточие, как мы уже делали при переименовании ветки:

$ git push origin :branch_name

Например, удалим ветку test из удаленного репозитория origin:

$ git push origin :test

Либо с флагом –delete, так понятнее:

$ git push origin --delete test

здесь origin – имя удаленного репозитория

Как слить ветки

Обычно сливают некоторую ветку (например, ветку-багфикс) в ветку master. Для этого сначала перейдем в ветку master (в ту ветку, в которую вливаем изменения):

$ git checkout master

А затем выполним слияние. Допустим, в ветку master надо слить ветку test :

$ git merge test

Слияние веток не всегда происходит гладко, иногда требуется разрешить конфликты вручную. Для этого надо отредактировать конфликтые файлы, выполнить их commit и снова выполнить merge.

Итог

В этой статье мы рассмотрели работу с ветками GIT и составили небольшую шпаргалку по использованию веток.

Как переименовать имя локальной и удаленной ветви Git?


Есть несколько способов сделать это:

  1. Измените местное отделение, а затем отправьте изменения
  2. Выдвиньте ветку на удаленную страницу с новым именем, сохранив оригинальное имя локально

Переименование локального и удаленного

# Rename the local branch to the new name
git branch -m <old_name> <new_name>

# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete <old_name>

# Or shorter way to delete remote branch [:]
git push <remote> :<old_name>

# Push the new branch to remote
git push <remote> <new_name>

# Reset the upstream branch for the new_name local branch
git push <remote> -u <new_name>


Переименование только удаленного филиала

Кредит: ptim

# In this option, we will push the branch to the remote with the new name
# While keeping the local name as is
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>

Важная заметка:

Когда вы используете git branch -m(перемещение), Git также обновляет вашу ветку отслеживания с новым именем.

git remote rename legacy legacy

git remote renameпытается обновить удаленный раздел в вашем файле конфигурации. Он будет переименовывать пульт с заданным именем в новое, но в вашем случае он не нашел ни одного, поэтому переименование не удалось.

Но это не будет делать то, что вы думаете; он переименует ваше удаленное имя локальной конфигурации, а не удаленную ветвь. 


Примечание.
Серверы Git могут позволять вам переименовывать ветви Git с помощью веб-интерфейса или внешних программ (таких как Sourcetree и т. Д.), Но вы должны помнить, что в Git вся работа выполняется локально, поэтому рекомендуется использовать приведенные выше команды. на работу.

Как переименовать локальную ветку Git? — git

Я не хочу переименовывать удаленную ветвь, как описано в разделе переименование главной ветви для локальных и удаленных репозиториев Git .

Как я могу переименовать локальную ветвь, которая не была перемещена в удаленную ветвь?

В случае, если вам нужно переименовать удаленную ветку, а также:

Как я могу переименовать как Git локальных и удаленных наименование филиала

git

git-branch

Поделиться

Источник


Forrest    

06 июля 2011 в 03:20

25 Ответов



12257

Если вы хотите переименовать ветвь, указывая на какую-либо ветвь, сделайте это:

git branch -m <oldname> <newname>

Если вы хотите переименовать текущую ветку, вы можете сделать это:

git branch -m <newname>

Способ запомнить это, это -m для «move» (или mv), который является способом переименования файлов.

Поделиться


siride    

06 июля 2011 в 03:21



390

git branch -m old_branch_name new_branch_name

Приведенная выше команда изменит имя вашей ветви, но вы должны быть очень осторожны, используя переименованную ветвь, потому что она все равно будет ссылаться на старую восходящую ветвь, связанную с ней, если таковая имеется.

Если вы хотите внести некоторые изменения в master после того, как ваша локальная ветвь будет переименована в new_branch_name (примерное имя):

git push origin new_branch_name:master (теперь изменения будут идти в главную ветвь, но ваше локальное имя ветви-new_branch_name)

Дополнительные сведения см. В разделе » Как переименовать имя локальной ветви в Git .»

Поделиться


Madhan Ayyasamy    

21 января 2013 в 09:49



284

Чтобы переименовать текущую ветку:

git branch -m <newname>

Поделиться


Jonathan    

20 июня 2013 в 15:05



230

Вот шаги, чтобы переименовать ветку:

  1. Переключитесь на ветку, которую нужно переименовать
  2. git branch -m <new_name>
  3. git push origin :<old_name>
  4. git push origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017): убедитесь, что вы выполнили команду git status и проверили, что вновь созданная ветвь указывает на свой собственный ref, а не на более старый. Если вы нашли ссылку на более старую ветвь, вам нужно отменить установку восходящего потока с помощью:

git branch --unset-upstream

Поделиться


Milind Anantwar    

15 апреля 2015 в 12:50



166

Переименование ветви будет полезно, как только ваша ветвь будет завершена. Затем приходит новый материал,и вы хотите развиваться в той же ветви, а не удалять его и создавать новый.

По моему опыту, чтобы переименовать локальную и удаленную ветвь в Git, вам следует выполнить следующие действия.

Цитирование из нескольких состояний-переименование локальной и удаленной ветви в
git

1. Переименовать свой местный филиал

Если вы находитесь на ветке, которую хотите переименовать:

git branch -m new-name

Если вы находитесь на другой ветке:

git branch -m old-name new-name

2. Удалите удаленную ветвь со старым именем и нажмите на локальную ветвь с новым именем

git push origin :old-name new-name

3. Сбросить вышестоящего филиала к новому имени местного отделения

git push origin -u new-name

Поделиться


trungk18    

14 октября 2016 в 03:22



95

Ответы до сих пор были правильными, но вот некоторые дополнительные сведения:

Можно переименовать ветвь с помощью ‘-m’ (переместить), но нужно быть осторожным, потому что ‘-M’ заставляет переименовать, даже если уже есть существующая ветвь с тем же именем. Вот выдержка из man-страницы ‘git-branch’:

>
При выборе a-m или -M параметр <oldbranch> будет переименован в <newbranch> . Если у <oldbranch> был соответствующий рефлог , он переименовывается в соответствующий <newbranch>, и создается запись рефлога, чтобы запомнить переименование ветви. Если существует <newbranch> , то для принудительного переименования необходимо использовать-M.

Поделиться


Vanchev    

24 сентября 2013 в 13:21



79

1. Переименовать

Если это ваша текущая ветвь, просто сделайте это

git branch -m new_name

Если это другая ветвь, которую вы хотите переименовать

git branch -m old_name new_name

2. Трек новый удаленный филиал

— Если ваша ветка была вытеснена, то после переименования вам нужно удалить ее из репозитория remote Git и попросить вашего нового локального отслеживать новую удаленную ветку:

git push origin :old_name
git push --set-upstream origin new_name

Поделиться


Oss    

17 декабря 2015 в 13:45



67

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

Ни то ни другое не сработало:

git checkout -dumb-name

git checkout -- -dumb-name

" s, ' s и \ s тоже не помогли. git branch -m не работает.

Вот как я в конце концов его починил. Зайдите в свою рабочую копию .git/refs/heads, найдите имя файла «- dumb-name», получите hash ветки. Затем это проверит его, сделает новую ветку с нормальным именем и удалит старую.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

Поделиться


Samuel Meacham    

09 ноября 2013 в 07:31



61

Чтобы переименовать филиал локально:

git branch -m [old-branch] [new-branch]

Теперь вам придется распространять эти изменения и на удаленном сервере.

Чтобы протолкнуть изменения удаленной старой ветки:

git push origin :[old-branch]

Подтолкнуть изменения создания новой ветки:

git push origin [new-branch]

Поделиться


aliasav    

20 августа 2015 в 06:39



34

Переименуйте ветку с помощью этой команды:

git branch -m [old_branch_name] [new_branch_name]

-m: он переименовывает / перемещает ветку. Если ветка уже есть, то вы получите сообщение об ошибке.

Если ветвь уже существует и вы хотите переименовать ее с помощью этой ветви, используйте:

 git rename -M [old_branch_name] [new_branch_name]

Для получения дополнительной информации о справке используйте эту команду в terminal:

git branch --help

или

man git branch

Поделиться


Hafiz Shehbaz Ali    

11 апреля 2015 в 06:19



32

Продвинутые пользователи Git могут переименовывать вручную с помощью:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name

Поделиться


Jethik    

05 августа 2015 в 09:04



32

Переименовать филиал:

git branch -m old_branchname new_branchname

Здесь длинное имя параметра -m--move . Так что мы также можем использовать:

git branch --move old_branchname new_branchname

Если вы хотите переименовать текущую ветку, то используйте это:

git branch -m new_branchname

или

git branch -move new_branchname

Если вы хотите перенести эти изменения на удаленный компьютер, то выполните следующие действия.

git push origin :old_branchname new_branchname

Это приведет к удалению удаленной ветви old_branchname и выталкиванию локальной ветви new_branchname .

git push origin -u new_branchname

Это приведет к сбросу восходящей ветви для локальной ветви new_branchname .

Поделиться


Ajmal sha    

04 марта 2018 в 09:07



27

  1. Переименуйте свою локальную ветвь.

Если вы находитесь на ветке, которую хотите переименовать:

git branch -m new-name

Если вы находитесь на другой ветке:

git branch -m old-name new-name
  1. Удалите удаленную ветвь со старым именем и нажмите на локальную ветвь с новым именем.

git push origin :old-name new-name

  1. Сбросьте вышестоящую ветвь для локальной ветви с новым именем.
    Переключитесь на ветку, а затем:

git push origin -u new-name

Или для быстрого способа сделать это, вы можете использовать следующие 3 шага:

# Переименовать филиал локально

git branch -m old_branch new_branch  

# Удалить старую удаленную ветку

git push origin :old_branch  

# Нажмите на новую ветку, установите локальную ветку для отслеживания нового пульта дистанционного управления

git push --set-upstream origin new_branch   

Референс: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

Поделиться


badarshahzad    

08 апреля 2018 в 05:49



22

Вероятно, как уже упоминалось другими,это будет несоответствие случая в названии ветви.

Если у вас есть такая ситуация, я могу предположить, что вы находитесь на Windows, что также приведет вас к:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

Затем вы должны сделать промежуточный шаг:

$ git branch -m temporary
$ git branch -m casesensitive

Ничего больше.

Поделиться


P4C    

25 мая 2015 в 11:52



22

Вот три шага: команда, которую вы можете вызвать внутри вашего terminal и изменить имя ветви.

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

Если вам нужно больше: step-by-step, как изменить имя ветви Git-это хорошая статья об этом.

Поделиться


Hazarapet Tunanyan    

10 мая 2016 в 18:04



20

Пытаюсь конкретно ответить на вопрос (хотя бы название).

Вы также можете переименовать локальную ветвь, но продолжаете отслеживать старое имя на удаленном устройстве.

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

Теперь , когда вы запускаете git push, удаленный old_branch ref обновляется с вашим локальным new_branch .

Вы должны знать и помнить эту конфигурацию. Но это может быть полезно, если у вас нет выбора для имени удаленной ветви, но вам это не нравится (О, я имею в виду, у вас есть очень веская причина не любить его !) и предпочтите более четкое название для вашего местного филиала.

Играя с конфигурацией выборки, вы даже можете переименовать локальную удаленную ссылку. то есть, имея refs/remote/origin/new_branch ref указатель на ветку, то есть фактически old_branch на origin . Однако я очень не одобряю этого, ради безопасности вашего разума.

Поделиться


Pierre-Olivier Vares    

19 мая 2016 в 10:39



18

Если вы хотите использовать SourceTree (что я настоятельно рекомендую), вы можете щелкнуть правой кнопкой мыши по своей ветке и выбрать ‘Rename’.

Поделиться


Marcin Szymczak    

26 мая 2017 в 11:14



18

Изменить ветвь локально довольно просто…

Если вы находитесь в ветке, для которой хотите изменить название, просто сделайте это:

git branch -m my_new_branch

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

git branch -m my_old_branch my_new_branch

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

Поделиться


Alireza    

04 июля 2017 в 14:01



17

Для переименования текущей ветви (кроме состояния отсоединен HEAD) также можно использовать этот псевдоним:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'

Поделиться


dentuzhik    

02 сентября 2014 в 17:25



15

Другой вариант-вообще не использовать командную строку. Git GUI клиенты, такие как SourceTree , забирают большую часть синтаксической кривой обучения / боли, которая заставляет такие вопросы, как этот, быть одними из самых просматриваемых при переполнении стека.

В SourceTree щелкните правой кнопкой мыши любую локальную ветвь в панели «Branches» слева и выберите » Переименовать …».

Поделиться


Steve Chambers    

08 марта 2015 в 16:13



13

Поскольку вы не хотите отправлять ветку на удаленный сервер, этот пример будет полезен:

Допустим, у вас есть существующая ветвь под названием «my-hot-feature», и вы хотите переименовать ее в «feature-15.»

Во-первых, вы хотите изменить свою местную ветвь. Это не могло быть проще:

git branch -m my-hot-feature feature-15

Для получения дополнительной информации вы можете посетить локальное и удаленное переименование филиала в Git .

Поделиться


Tanah    

27 октября 2015 в 10:17



10

Git версия 2.9.2

Если вы хотите изменить имя локальной ветви, в которой вы находитесь:

git branch -m new_name

Если вы хотите изменить название другой ветви:

git branch -m old_name new_name

Если вы хотите изменить имя другой ветви на имя, которое уже существует:

git branch -M old_name new_name_that_already_exists

Примечание: последняя команда разрушительна и переименует вашу ветвь, но вы потеряете старую ветвь с этим именем и те коммиты, потому что имена ветвей должны быть уникальными.

Поделиться


nikkypx    

22 сентября 2016 в 00:03



8

Если вы хотите изменить имя текущей ветви, выполните команду:

git branch -m [old_branch] [new_branch]

Если вы хотите удалить старую удаленную ветвь, запустите:

git push origin :[old_branch]

Если вы хотите удалить старую удаленную ветвь и создать новую удаленную ветвь, выполните команду:

git push origin :old_branch new_branch

Поделиться


Arif    

31 января 2017 в 15:53



8

Простой способ сделать это:

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

Дополнительные сведения см. В разделе этот .

Поделиться


Nomade    

27 марта 2018 в 16:00



7

Всего два шага, чтобы повторить изменение имени на remote , а также на GitHub:

Шаг 1 git branch -m old_branchname new_branchname

Шаг 2 git push origin :old_branchname new_branchname

Поделиться


Harry_pb    

22 марта 2019 в 01:03


Похожие вопросы:

Переименовать удаленную ветку git без выборки

У меня есть сиротская ветка new-version для совершенно новой версии моего приложения. В моей локальной системе у меня нет master branch . У меня есть только new-version branch by doing git init`, и…

Как удалить локальную ветку в git?

Я хочу удалить локальную ветку в Git, но это не удалось: git branch -d <branch_name>

git подключить локальную ветку с удаленного

В моем локальном РЕПО, если я выполняю $git branch —all он возвращается * master remotes/origin/develop remotes/origin/master это означает, что у меня есть локальная ветвь с именем repo и 2…

Как восстановить удаленную локальную ветку

Я создал локальную ветку и нажимаю на сервер: $ git checkout -b feature …. $ git pull origin feature Если я удалил эту ветку: $ git branch -D feature Как я снова восстанавливаю эту ветку с…

git push переименовывает ветку

Я пытаюсь переименовать ветку моего проекта, используя git branch -m old_branch_name new_brach_name чтобы переименовать локальную ветвь, которая работает просто отлично, и локальная ветвь…

Как переименовать локальную ветку Git изнутри идеи IntelliJ?

Есть много вещей, которые вы можете сделать с помощью плагина Git для IntelliJ IDEA, но я не нашел способа переименовать ветку. Есть ли он вообще? Я знаю, что всегда могу поднять terminal и сделать…

Git: как переименовать refs/remotes/origin/*

так что сделка здесь заключается в том, что я пытаюсь переименовать локальную удаленную ссылку. Например, когда я запускаю следующую команду. git show-ref Я получаю (среди прочих) пару таких ветвей…

Как обновить локальную главную ветку в VS / Git из источника Git?

Я работаю над VS 2017 Professional Edition и пытаюсь обновить свою локальную ветвь Master с недавним изменением кода в master. Я вижу несколько вариантов, как Fetch, Pull request, Push. Мне просто…

Git-потяните другую удаленную ветку в мою локальную ветку

У меня есть ветка под названием ‘my-feature’, которая отслеживает удаленную ветку origin/my-feature. У меня также есть основная ветка, где вся деятельность по развитию идет (магистраль). Это ‘dev’,…

Как удалить локальную пустую ветку git

Я создал локальную пустую ветку с помощью: mkdir test cd test git checkout -b branch_local Я не могу удалить его с помощью: git branch -D branch_local Я получаю error: Cannot delete branch…

Полезные команды Git

Полезные команды Git

Использование Git порой может казаться пугающим. Нужно изучить столько команд и деталей. Но документация Git, несмотря на свои объемы, очень доступна. Когда вы преодолеете первоначальный страх, все начнет становиться на свои места.

Я хочу познакомить вас со списком из 15 команд Git, о которых вы, возможно, еще не знаете, но я надеюсь, что они вам пригодятся при освоении этого прекрасного инструмента.

1. Изменение последнего коммита

Полезные команды Git

—amend позволяет добавлять подготовленные (staged) изменения к предыдущему коммиту (например, добавлять забытый файл). Если изменений нет, то —amend даст вам возможность переписать сообщение этого коммита (commit message). А если приписать —no-edit, то наоборот: можно будет внести изменения в сам коммит, не затрагивая commit message.

2. Интерактивное добавление отдельных частей файлов

-p (или —patch) позволяет интерактивно выбирать для добавления в коммит части отслеживаемый файлов. Таким образом коммит будет содержать только нужные изменения.

3. Интерактивное скрытие отдельных частей файлов

Опцию —patch можно добавлять не только к git-add. Добавленная к git stash, она позволяет интерактивно выбирать части отслеживаемых файлов, которые вы хотели бы скрыть.

4. Скрытие файлов, включая неотслеживаемые

По умолчанию при скрытии файлов неотслеживаемые файлы не учитываются. Чтобы изменить это поведение и включить в stash также и эти файлы, нужно использовать параметр -u. Есть также параметр -a (—all), который позволяет скрывать как неотслеживаемые, так и игнорируемые файлы, но это, вероятно, не то, что вам обычно нужно.

5. Интерактивный «сброс» выбранных частей файлов

—patch можно также использовать для выборочного сброса частей отслеживаемых файлов. Я задал этой команде псевдоним git discard.

6. Переключение в предыдущую ветку

Эта команда позволяет вам быстро переключиться на ранее просматриваемую ветку. Знак дефиса это псевдоним предыдущей ветки. Его можно использовать и с другими командами.

7. Сброс всех локальных изменений

Если вы уверены, что все ваши локальные изменения можно сбросить, то для одновременного сброса вы можете использовать символ точки. Тем не менее, хорошей практикой будет всегда использовать checkout —patch.

8. Показать изменения

Эта команда показывает все подготовленные изменения (проиндексированные). Если вы введете просто git diff, будут показаны изменения только в рабочей директории.

9. Локальное переименование веток

Если вы хотите переименовать ветку, в которой находитесь на данный момент, можно сократить команду:

git branch -m new-name

10. Переименование веток удаленно

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

11. Открыть все файлы с конфликтами одновременно

Перемещение (rebasing) может приводить к конфликтам. Следующая команда откроет все файлы, где нужно разрешить эти конфликты.

12. Что изменилось?

Эта команда покажет лог изменений, представленных по каждому коммиту за последние две недели.

13. Удаление файла из последнего коммита

Скажем, вы сделали коммит файла по ошибке. Этот файл можно быстро удалить из последнего коммита путем комбинации команд rm и commit —amend:

14. Поиск веток

Эта команда покажет все ветки, содержащие указанный коммит.

15. Локальная оптимизация репозитория

Бонус

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

Кроме того, с помощью команды help можно получить совершенно фантастический обзор рекомендуемых рабочих процессов Git. Почитайте внимательно!

источник

 

Git

Облегчаем свою работу в Git:

Исправляем запутанные ситуации в git с помощью git reflog. Не забываем, что история коммитов, веток — граф .

Перенос отдельного коммита в другую ветку: git cherry-pick.

Workflow

Найти потерянные коммиты

Полезно для поиска заначек (stash) — до того, как прошелся сборщик мусора (garbage collector, git gc).

git fsck --no-reflog | awk '/dangling commit/ {print $3}'

Разрулить конфликты

В случае конфликта pull оставить наши файлы:

git pull -X ours

В случае конфликта pull оставить файлы с «их» репозитория:

git pull -X theirs

Если был сделан обычный pull или merge, и вывелось сообщение

Не удалось провести автоматическое слияние; исправьте конфликты и сделайте коммит результата.

Смотрим изменения через git status, затем правим вручную, либо принимаем «наши» изменения полностью или на уровне отдельных файлов:

# наши изменения (что в текущей ветке):
git checkout --ours -- <filename>
# их изменения (изменения из ветки, которую сливаем):
git checkout --theirs -- <filename>

Найти все файлы с конфликтами, оставить свои/чужой вариант: мануал

История изменения файла

git log -p file.txt

Полная история изменения файла, включая историю до переименования файла и статистику:

git log --follow --stat -p file.txt

Если имя файла начинается с минуса -, для отбивки его от параметров строки следует использовать --, например git log -p -- --stat покажет историю файла --stat

Кто редактировал эту строку?

Удалить неотслеживаемые файлы

Будут физически удалены все файлы, не отслеживаемые git

git clean -fd

Клонировать часть истории Git

Точка слияния двух веток

Переименовать ветку

git branch -m <oldname> <newname>

Переименовать текущую ветку:

git branch -m <newname>

Удалить remote-ветку в origin-репозитории

git-delete-origin-branch.sh
git push -d origin my-branch  # удаляет remote-ветку в origin-репозитории (git 2.8+)

Назначить рабочий каталог

Чтобы git хранил свои файлы репозитория в одном месте git/test, а работал в другом рабочем каталоге: work/test

mkdir git
mkdir -p work/test
git --git-dir git/test --work-tree work/test init
touch work/test/foo.txt
git --git-dir git/test status
  • --work-tree — следует задать при создании репозитория

  • --git-dir — вызывать git, находясь в рабочем каталоге:

cd work/test
git --git-dir ../../git/test status

или в каталоге репозитория:

cd git/test
git status

Вставить картинку на гитхаб

README.md
![Image alt](https://github.com/{username}/{repository}/raw/{branch}/{path}/image.png)
  • {username} — ник на ГитХабе;

  • {repository} — репозиторий где хранятся картинки;

  • {branch} — ветка репозитория, f.e. master;

  • {path} — путь к месту нахождения картинки.

Отправить Pull Request на гитхаб

Отключить плагин git-prompt в приглашении командной строки

Глобально:

git config --global oh-my-zsh.hide-status 1

Только текущий репозиторий:

git config oh-my-zsh.hide-status 1

Ссылки

Контроль версий

— как переименовать локальную ветку Git?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

Загрузка…

.

Переименовать локальную и удаленную ветки в git — База знаний нескольких состояний

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

1. Переименуйте местный филиал.
Если вы находитесь в ветке, которую хотите переименовать:

git branch -m новое-имя
 

Если вы находитесь в другом филиале:

git branch -m старое имя новое имя
 

2.Удалите удаленную ветку со старым именем и нажмите локальную ветвь с новым именем.

git push origin: старое имя новое имя
 

3. Сбросьте восходящую ветвь для локальной ветки с новым именем.
Перейдите в филиал, а затем:

git push origin -u новое-имя
 

Нравится:

Нравится Загрузка …

Связанные

.

Переименование пульта ДУ — GitHub Docs

Документы GitHub

  • Все продукты

  • GitHub.com
    • Начиная

      • Быстрый старт

        • Настроить Git
        • Создать репо
        • Форк репо
        • Быть социальным
      • Изучение GitHub

        • Продукты GitHub
        • Изучение выпусков раннего доступа с предварительным просмотром функций
        • Типы аккаунтов GitHub
        • Часто задаваемые вопросы об изменениях в планах GitHub
        • Интерфейс командной строки GitHub
        • GitHub Desktop
        • GitHub для мобильных устройств
        • Разрешения на доступ на GitHub
        • Глоссарий GitHub
        • Шпаргалка по Git
        • Учебные ресурсы Git и GitHub
      • Регистрация на GitHub

        • Регистрация новой учетной записи GitHub
        • Подтверждение адреса электронной почты
        • Настройка пробной версии GitHub Enterprise Cloud
        • Настройка пробной версии GitHub Enterprise Server
      • Изучение проектов на GitHub

        • Поиск способов внести свой вклад в открытый исходный код на GitHub
        • Сохранение репозиториев со звездочками

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *