Latest web development tutorials

Управление Git филиал

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

Кто-то Git разветвленности модель называется "Nirvana характеристики", но именно потому, что она отличается от системы управления версиями Git для всей семьи.

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

git branch (branchname)

Отделение команда переключения:

git checkout (branchname)

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

Объединить Филиалы команды:

git merge 

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


Управление Git филиал

Списки филиал

Основные команды перечислены в отрасли:

git branch

Когда нет аргументов, мерзавец ветви будут перечислены в ближайшем отделении.

$ git branch
* master

В данном случае это означает, что мы назвали филиал "мастер", и ветвь является текущая ветвь.

При запуске Git инициализации, по умолчанию Git воли создать ветвь "мастер" для вас.

Если мы хотим, чтобы вручную создать ветку и переключаться. Выполнить GIT ветвь (branchname) может быть.

$ git branch testing
$ git branch
* master
  testing

Теперь мы видим, что с новой тестовой ветви.

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

Далее, мы покажем вам, как переключать ветви, мы переключили с ГИТ кассе (филиала), который мы хотим изменить ветку.

$ ls
README
$ echo 'w3cschool.cc' > test.txt
$ git add .
$ git commit -m 'add test.txt'
[master 048598f] add test.txt
 2 files changed, 1 insertion(+), 3 deletions(-)
 delete mode 100644 hello.php
 create mode 100644 test.txt
$ ls
README		test.txt
$ git checkout testing
Switched to branch 'testing'
$ ls
README		hello.php

Когда мы перешли на ветвь "тестирования", мы добавим новый файл test.txt был удален, исходный файл удаляется файл hello.php возникла. Переключение обратно в филиал "мастер", они вновь появились.

$ git checkout master
Switched to branch 'master'
$ ls
README		test.txt

Мы можем также использовать команду GIT оформления заказа -b (branchname), чтобы создать новую ветку и сразу же перешел к ветви, для того, чтобы работать в этой отрасли.

$ git checkout -b newtest
Switched to a new branch 'newtest'
$ git rm test2.txt 
rm 'test2.txt'
$ ls
README		test.txt
$ git commit -am 'removed test2.txt'
[newtest 556f0a0] removed test2.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test2.txt
$ git checkout master
Switched to branch 'master'
$ ls
README		test.txt	test2.txt

Как вы можете видеть, мы создали ветку, удалить некоторые файлы в контексте этой отрасли, а затем вернуться к нашей основной ветви, эти файлы обратно.

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

Удалить ветви

Удалите команду ветвления:

git branch -d (branchname)

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

$ git branch
* master
  testing
$ git branch -d testing
Deleted branch testing (was 85fc7e7).
$ git branch
* master

Слияние ветвь

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

git merge
$ git branch
* master
  newtest
$ ls
README		test.txt	test2.txt
$ git merge newtest
Updating 2e082b7..556f0a0
Fast-forward
 test2.txt | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 test2.txt
$ ls
README		test.txt

Приведенные выше примеры мы будем newtest слиты в основную ветку на ветку, test2.txt файл удаляется.

конфликты при слиянии

В сочетании, а не просто добавить файл, операцию удалены, Git также объединить изменения.

$ git branch
* master
$ cat test.txt
w3cschool.cc

Во-первых, мы создаем директорию с именем "change_site" ветвь переключения в прошлом, мы будем довольствоваться www.w3cschool.cc.

$ git checkout -b change_site
Switched to a new branch 'change_site'
$ vim test.txt 
$ head -1 test.txt 
www.w3cschool.cc
$ git commit -am 'changed the site'
[change_site d7e7346] changed the site
 1 file changed, 1 insertion(+), 1 deletion(-)
 

Модифицированный содержание представлено "change_site" филиал. Теперь, если вы переключитесь обратно в филиал "мастер", что мы можем вернуться, чтобы увидеть содержимое наших модификаций, прежде чем мы снова изменить файл test.txt.

$ git checkout master
Switched to branch 'master'
$ head -1 test.txt 
w3cschool.cc
$ vim test.txt 
$ cat test.txt
w3cschool.cc
新增加一行
$ git diff
diff --git a/test.txt b/test.txt
index 704cce7..f84c2a4 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,2 @@
 w3cschool.cc
+新增加一行
$ git commit -am '新增加一行'
[master 14b4dca] 新增加一行
 1 file changed, 1 insertion(+)
 

Теперь эти изменения были записаны в моем «хозяина» филиала. Далее мы будем "change_site" филиал консолидации более.

 $ git merge change_site
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
$ cat test.txt 
<<<<<<< HEAD
w3cschool.cc
新增加一行
=======
www.w3cschool.cc
>>>>>>> change_site

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

$ vim test.txt 
$ cat test.txt 
www.w3cschool.cc
新增加一行
$ git diff
diff --cc test.txt
index f84c2a4,bccb7c2..0000000
--- a/test.txt
+++ b/test.txt
@@@ -1,2 -1,1 +1,2 @@@
- w3cschool.cc
+ www.w3cschool.cc
 +新增加一行

В Git, мерзавец добавить, что мы можем использовать, чтобы сказать Git файл конфликт был разрешен

$ git status -s
UU test.txt
$ git add test.txt 
$ git status -s
M  test.txt
$ git commit
[master 88afe0e] Merge branch 'change_site'

Теперь мы успешно решены конфликты слияния, и представить результаты.