Как я могу перевести понятия соединительной линии/ответвления от Подверсии до Мерзавца?

Таким образом, я не большая часть эксперта по управлению исходным кодом, я использовала Подверсию для проектов в прошлом. Я должен использовать Мерзавца для конкретного проекта (клиент предоставил Мерзавца repo).

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

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

Каково эквивалентное понятие в Мерзавце и там простой способ сделать это через GitHub?

17
задан Paŭlo Ebermann 4 September 2011 в 16:13
поделиться

2 ответа

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

Очень простой пример - выполнять свою нестабильную работу только в приватной ветке и назвать её как-нибудь очевидно, например, unstable-development. Вот как это сделать с нуля. Во-первых, давайте создадим новое репо с сайта вашего клиента, которое я назову "secret-sauce".

$ git clone git://example.com/repositories/secret-sauce.git

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

$ git branch unstable
$ git checkout unstable
Switched to branch 'unstable'

Хорошо. Теперь добавим немного нестабильного кода:

$ touch kablammo.txt
$ git add *
$ git commit -m "Added unstable code."
[master (root-commit) 9428aef] Initial checkin.
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 kablammo.txt

Прямо сейчас unstable существует только на вашей стороне. Обратите внимание, что при клонировании мы получили удалённый репозиторий под названием origin, который имеет соответствующую ветку master. Когда ваш локальный репозиторий знает о ветках удаленного репозитория, мы называем это "отслеживающей веткой". Вы можете увидеть все ваши удалённые отслеживающие ветви с помощью git branch -r:

$ git branch -r
  origin/HEAD -> origin/master
  origin/master

Хорошо. Давайте оттолкнем наши изменения!

$ git push origin unstable

Вот и все - наши изменения теперь живут в ветке unstable на удаленном репозитории. Если мы захотим посмотреть, что люди делают в ветке master, мы можем переключиться обратно с помощью git checkout master.

17
ответ дан 30 November 2019 в 13:04
поделиться

Я нахожу это ценным ресурсом: A Successful Git Branching Model

В отличие от SVN, git децентрализован. У вас никогда не должно возникать необходимости выкладывать нестабильный код в репозиторий вашего клиента. Вы можете просто перетащить нестабильный код на свой второй компьютер с первого.

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

9
ответ дан 30 November 2019 в 13:04
поделиться
Другие вопросы по тегам:

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