Git

Git Показать удаленные ветви

Git Показать удаленные ветви
Возможность Git легко создавать ветки - отличная особенность. Однако при работе с локальными и удаленными ветвями это может немного усложниться. Давайте настроим ситуацию, когда мы собираемся создать собственный репозиторий Git, который будет вести себя как удаленное репо. Затем мы собираемся создать и зафиксировать ветки в нашем удаленном репозитории из project_source. После этого мы собираемся клонировать удаленный репозиторий и поиграться с ветками. Упражнение также должно дать вам представление о том, как работают удаленные репозитории, такие как GitHub и BitBucket. Вы можете визуализировать это следующим образом:

Начнем с репозитория Git. Мы создадим папку под названием project.git и инициализируйте его, чтобы он стал удаленным репозиторием:

$ mkdir проект.мерзавец
$ cd project.git /
$ git init --bare
Инициализированный пустой репозиторий Git в / Users / zakh_eecs / _work / LearnGIT / git_remote_repository /
проект.git /

Теперь перейдите в новое место, где вы можете создать чистую папку. Создайте папку project_source и инициализируйте ее для Git:

$ mkdir project_source
 
$ cd project_source
 
$ git init
Инициализированный пустой репозиторий Git в / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
project_source /.git /
 
$ touch ReadMe.текст
 
$ git add -A
 
$ git commit -m "Начальная фиксация"
[master (root-commit) 176134f] Начальная фиксация
1 файл изменен, 0 вставок (+), 0 удалений (-)
режим создания 100644 ReadMe.текст

Project_setup - это каталог Git с ReadMe.txt файл. Однако он не подключен к нашему удаленному репозиторию. Создадим проект.git в качестве удаленного репозитория для project_source. Мы можем добиться этого с помощью следующей команды:

$ git удаленное добавление origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.мерзавец
 
$ git push origin master
Подсчет объектов: 3, готово.
Запись объектов: 100% (3/3), 213 байт | 0 байт / с, выполнено.
Всего 3 (дельта 0), повторно используется 0 (дельта 0)
К / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.мерзавец
* [новая ветка] мастер -> мастер

С помощью команды git remote add origin мы создали соединение между проектом.git и project_source. С помощью команды git push origin master мы переместили нашу основную ветку в удаленный репозиторий.

Проверим наши ветки (все еще в папке project_source):

$ git ветка
* владелец
 
$ git branch -r
происхождение / хозяин
 
$ git branch -a
* владелец
пульты / происхождение / мастер

Первая команда показывает только локальную ветку. Параметр -r показывает удаленную ветку. И опция -a показывает как локальные, так и удаленные.

Создадим несколько веток в нашем рабочем каталоге:

Разработка ветки $ git
 
Исправление ветки $ git
 
$ git ветка экспериментальная
 
$ git branch -a
разработка
экспериментальный
исправление
* владелец
пульты / происхождение / мастер

Мы создали ветки под названиями разработка, исправление и экспериментальная. Они появляются в нашем списке местных филиалов. Но в remote / origin есть только master ветка, потому что это единственная, которую мы нажали. Звездочка (*) master означает, что мы все еще находимся в локальной основной ветке. Пойдем в ветку разработки, зафиксируем изменения и отправим эти изменения в удаленный репозиторий.

$ git checkout разработка
Перешли в ветку разработка
 
$ echo abc> ReadMe.текст
 
$ git add -A
 
$ git commit -m "Измененная ветка разработки"
[development dd9933e] Измененная ветка разработки
1 файл изменен, 1 вставка (+)
 
$ git push origin разработка
Подсчет объектов: 3, готово.
Запись объектов: 100% (3/3), 257 байт | 0 байт / с, выполнено.
Всего 3 (дельта 0), повторно используется 0 (дельта 0)
К / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.мерзавец
* [новая ветка] разработка -> разработка

Теперь проверим все ветки:

$ git branch -a
* разработка
экспериментальный
исправление
владелец
пульты / происхождение / развитие
пульты / происхождение / мастер

Мы видим, что находимся в локальной ветке разработки, но есть еще ветка удаленной разработки. Когда мы отправили наши изменения с помощью git push origin development, он создал ветку разработки в remotes / origin.

Давайте теперь выйдем из project_source и найдем новое место, где у нас может быть новая папка. Здесь мы собираемся клонировать удаленный репозиторий с помощью следующей команды:

$ git clone / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / проект.мерзавец
Клонирование в «проект»…
Выполнено.

Мы клонировали новую копию проекта из проекта.мерзавец. Зайдите в папку проекта и проверьте ветки:

$ cd project
 
$ git ветка
* владелец

Когда Git делает первоначальный клон из удаленного репозитория, он получает только главную ветку. Если мы воспользуемся опцией -a, мы увидим:

$ git branch -a
* владелец
удаленно / происхождение / ГОЛОВА -> происхождение / мастер
пульты / происхождение / развитие
пульты / происхождение / мастер

Обратите внимание, что нет локальной ветки разработки. Кроме того, мы никогда не переносили исправления и экспериментальные ветки из project_source в project.мерзавец, поэтому мы их не видим. В удаленном репозитории есть ветки master и development (remotes / origin / HEAD -> origin / master не является веткой, он просто сообщает вам, на что указывает HEAD).

Давайте добавим ветку разработки в нашу рабочую среду:

$ git fetch - все
Получение происхождения
 
$ git checkout разработка
Настройка развития веток для отслеживания развития удаленных веток из источника.
Перешли в новую ветку "разработка"

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

$ git checkout разработка происхождение / разработка

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

$ git branch -a
* разработка
владелец
удаленно / происхождение / ГОЛОВА -> происхождение / мастер
пульты / происхождение / развитие
пульты / происхождение / мастер

Мы можем внести изменения в ветку разработки, зафиксировать изменения и затем отправить их с помощью команды разработки git push origin.

В заключении

При работе с GitHub и BitBucket вы можете использовать ссылку HTTPS или SSH для подключения к удаленному репозиторию. Таким образом, вы будете устанавливать свое происхождение для этих ссылок. Но принципы удаленной ветки такие же, как описано здесь.

Дальнейшее изучение:

Как использовать Xdotool для стимулирования щелчков мыши и нажатия клавиш в Linux
Xdotool - это бесплатный инструмент командной строки с открытым исходным кодом для имитации щелчков мыши и нажатия клавиш. В этой статье будет краткое...
5 лучших эргономичных компьютерных мышей для Linux
Вызывает ли длительное использование компьютера боль в запястье или пальцах?? Вы страдаете от скованности суставов и постоянно должны пожимать руки? В...
Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...