133 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
title: Git Branch
 | 
						||
localeTitle: Git Branch
 | 
						||
---
 | 
						||
## Git Branch
 | 
						||
 | 
						||
Функциональность разветвления Git позволяет создавать новые ветви проекта для тестирования идей, изоляции новых функций или экспериментов без влияния на основной проект.
 | 
						||
 | 
						||
**Оглавление**
 | 
						||
 | 
						||
*   [Посмотреть ветви](#view-branches)
 | 
						||
*   [Оформить заказ](#checkout-a-branch)
 | 
						||
*   [Создать новый филиал](#create-a-new-branch)
 | 
						||
*   [Переименовать ветвь](#rename-a-branch)
 | 
						||
*   [Удалить ветвь](#delete-a-branch)
 | 
						||
*   [Сравнить филиалы](#compare-branches)
 | 
						||
*   [Помощь с Git Branch](#help-with-git-branch)
 | 
						||
*   [Дополнительная информация](#more-information)
 | 
						||
 | 
						||
### Посмотреть ветви
 | 
						||
 | 
						||
Чтобы просмотреть ветви в репозитории Git, выполните команду:
 | 
						||
 | 
						||
```shell
 | 
						||
git branch 
 | 
						||
```
 | 
						||
 | 
						||
Чтобы просмотреть ветви удаленного отслеживания и локальные ветви, выполните команду:
 | 
						||
 | 
						||
```shell
 | 
						||
git branch -a 
 | 
						||
```
 | 
						||
 | 
						||
Рядом с веткой будет звездочка (\*), в которой вы сейчас находитесь.
 | 
						||
 | 
						||
Существует множество различных опций, которые вы можете включить в `git branch` для просмотра различной информации. Для получения дополнительной информации о филиалах вы можете использовать опцию `-v` (или `-vv` или `--verbose` ). Список филиалов будет включать значение SHA-1 и строку темы фиксации для `HEAD` каждой ветки рядом с ее именем.
 | 
						||
 | 
						||
Вы можете использовать параметр `-a` (или `--all` ), чтобы показывать локальные ветви, а также любые удаленные ветви для хранилища. Если вы хотите видеть только удаленные ветви, используйте параметр `-r` (или `--remotes` ).
 | 
						||
 | 
						||
### Оформить заказ
 | 
						||
 | 
						||
Чтобы проверить существующую ветку, выполните команду:
 | 
						||
 | 
						||
```shell
 | 
						||
git checkout BRANCH-NAME 
 | 
						||
```
 | 
						||
 | 
						||
Как правило, Git не позволит вам проверять другую ветку, если ваш рабочий каталог не является чистым, потому что вы потеряете любые изменения рабочего каталога, которые не были выполнены. У вас есть три варианта обработки ваших изменений: 1) уничтожить их (см. [Git checkout для деталей](https://guide.freecodecamp.org/git/git-checkout/) ) или 2) совершить их (см. [Git commit для деталей](https://guide.freecodecamp.org/git/git-commit/) ) или 3) спрячьте их (см. [Git stash для деталей](https://guide.freecodecamp.org/git/git-stash/) ).
 | 
						||
 | 
						||
### Создать новый филиал
 | 
						||
 | 
						||
Чтобы создать новую ветку, выполните команду:
 | 
						||
 | 
						||
```shell
 | 
						||
git branch NEW-BRANCH-NAME 
 | 
						||
```
 | 
						||
 | 
						||
Обратите внимание, что эта команда создает только новую ветку. Вам нужно будет запустить `git checkout NEW-BRANCH-NAME` чтобы переключиться на него.
 | 
						||
 | 
						||
Есть ярлык для создания и проверки новой ветки сразу. Вы можете передать опцию `-b` (для филиала) с помощью `git checkout` . Следующие команды выполняют одно и то же:
 | 
						||
 | 
						||
```shell
 | 
						||
# Two-step method 
 | 
						||
 git branch NEW-BRANCH-NAME 
 | 
						||
 git checkout NEW-BRANCH-NAME 
 | 
						||
 
 | 
						||
 # Shortcut 
 | 
						||
 git checkout -b NEW-BRANCH-NAME 
 | 
						||
```
 | 
						||
 | 
						||
Когда вы создадите новую ветку, она будет включать все фиксации из родительской ветви. Родительская ветвь - это ветка, в которой вы работаете, когда вы создаете новую ветку.
 | 
						||
 | 
						||
### Переименовать ветвь
 | 
						||
 | 
						||
Чтобы переименовать ветвь, выполните команду:
 | 
						||
 | 
						||
```shell
 | 
						||
git branch -m OLD-BRANCH-NAME NEW-BRANCH-NAME 
 | 
						||
 
 | 
						||
 # Alternative 
 | 
						||
 git branch --move OLD-BRANCH-NAME NEW-BRANCH-NAME 
 | 
						||
```
 | 
						||
 | 
						||
### Удалить ветвь
 | 
						||
 | 
						||
Git не позволит вам удалить ветку, в которой вы сейчас находитесь. Сначала вам нужно проверить другую ветку, а затем запустить команду:
 | 
						||
 | 
						||
```shell
 | 
						||
git branch -d BRANCH-TO-DELETE 
 | 
						||
 
 | 
						||
 # Alternative: 
 | 
						||
 git branch --delete BRANCH-TO-DELETE 
 | 
						||
```
 | 
						||
 | 
						||
Ветвь, с которой вы переключаетесь, имеет значение. Git выдаст ошибку, если изменения в ветке, которую вы пытаетесь удалить, не полностью объединены в текущую ветку. Вы можете переопределить это и заставить Git удалить ветку с `-D` вариант (обратите внимание на заглавную букву) или используя `--force` опцию `-d` или `--delete` :
 | 
						||
 | 
						||
```shell
 | 
						||
git branch -D BRANCH-TO-DELETE 
 | 
						||
 
 | 
						||
 # Alternatives 
 | 
						||
 git branch -d --force BRANCH-TO-DELETE 
 | 
						||
 git branch --delete --force BRANCH-TO-DELETE 
 | 
						||
```
 | 
						||
 | 
						||
### Сравнить филиалы
 | 
						||
 | 
						||
Вы можете сравнивать ветви с командой `git diff` :
 | 
						||
 | 
						||
```shell
 | 
						||
git diff FIRST-BRANCH..SECOND-BRANCH 
 | 
						||
```
 | 
						||
 | 
						||
Вы увидите цветной выход для изменений между ветвями. Для всех строк, которые изменились, версия `SECOND-BRANCH` будет зеленой строкой, начинающейся с «+», а версия `FIRST-BRANCH` будет красной линией, начинающейся с «-». Если вы не хотите, чтобы Git отображал две строки для каждого изменения, вы можете использовать опцию `--color-words` . Вместо этого Git покажет одну строку с удаленным текстом красного цвета и добавит текст в зеленый цвет.
 | 
						||
 | 
						||
Если вы хотите увидеть список всех ветвей, которые полностью объединены в вашу текущую ветку (другими словами, ваша текущая ветка включает в себя все изменения остальных ветвей, которые перечислены), запустите команду `git branch --merged` .
 | 
						||
 | 
						||
### Помощь с Git Branch
 | 
						||
 | 
						||
Если вы забыли, как использовать параметр, или хотите изучить другие функции вокруг команды `git branch` , вы можете запустить любую из этих команд:
 | 
						||
 | 
						||
```shell
 | 
						||
git help branch 
 | 
						||
 git branch --help 
 | 
						||
 man git-branch 
 | 
						||
```
 | 
						||
 | 
						||
### Дополнительная информация:
 | 
						||
 | 
						||
*   Команда `git merge` : [руководство FCC](https://guide.freecodecamp.org/git/git-merge/)
 | 
						||
*   Команда `git checkout` : [руководство FCC](https://guide.freecodecamp.org/git/git-checkout/)
 | 
						||
*   Команда `git commit` : [руководство FCC](https://guide.freecodecamp.org/git/git-commit/)
 | 
						||
*   Команда `git stash` : [руководство FCC](https://guide.freecodecamp.org/git/git-stash/)
 | 
						||
*   Документация Git: [ветвь](https://git-scm.com/docs/git-branch) |