Предыдущий ролик Следующий ролик  

Видео урок: Чекаут удаленных бранчей

Git: обучение основам

В этом ролике мы рассмотрим, как сделать чекаут удаленных бранчей. Во-первых, я хочу, чтобы вы обратили внимание, что я нахожусь внутри директории lynda_version, и я в master бранче. Если я напишу git branch, вы увидите, что это единственный бранч, который есть в репозитории Линды, если же я напишу git branch с опцией -r, чтобы просмотреть удаленные бранчи, вы увидите, что здесь есть также этот бранч non_tracking. Я хочу иметь возможность получить это бранч non_tracking, чтобы иметь возможность работать с ним. Кто-то его туда отправил, и я хочу посмотреть, что в нем есть. Я хочу просмотреть, какой в нем есть код, скачать его, возможно, я добавлю некоторые изменения и снова отправлю его в репозиторий.

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

Кроме всего прочего, мы можем сказать Git, откуда должен прийти бранч non_tracking. В прошлом по умолчанию мы использовали для этого HEAD, который указывает на верхушку текущего основного бранча. Однако вы можете указать здесь нечто иное. Можно указать конкретный коммит или указать origin/non_tracking. Вот оно, git branch non_tracking origin/non_tracking, и для нас будет создан бранч. Теперь давайте сделаем его чекаут, вы видите, что бранч non_tracking настроен так, чтобы отслеживать удаленный бранч non_tracking из origin.

Git создал его, и это отслеживаемый бранч. Git будет его отслеживать. Вот зачем нам нужен такой синтаксис. Если мы напишем git branch, вы увидите. что у нас есть этот бранч non_tracking, а если посмотреть в файл git/config, вы увидите, что non_tracking настроен так, чтобы отслеживать origin/non_tracking. Теперь я хочу показать вам, как удалить этот бранч, мы помним, как сделать это, git branch -d non_tracking, бранч удален, итак, снова, это моя версия, это не имеет ничего общего с тем, что происходит в удаленном репозитории, не имеет ничего общего с тем, что происходит в origin/master, они все еще на месте, git branch -r, но вы также можете написать git checkout с опцией -b. Это создаст бранч и сделает его чекаут, все за один шаг, чекаут нового бранча.

Допустим, non_tracking и origin/non_tracking. Нам просто сделать копию бранча non_tracking. Итак, сейчас мы в бранче non_tracking, мы можем делать сюда коммиты, а затем, когда мы отправим их в удаленный репозиторий, они попадут в удаленный бранч non_tracking. Если мы хотим переключиться на основной бранч, пишем git checkout master. Теперь мы в основном бранче, мы можем вносить сюда изменения, затем отправлять их в удаленный репозиторий, и они туда попадут.

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