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

Я хотел бы клонировать существующее хранилище в новую ветвь, доступную для всех, у кого есть доступ к главной ветке (SSH), затем работать локально вне вновь созданной ветки и фиксировать изменения только в этой ветке. Из онлайн-документов и руководств общее мнение выглядит следующим образом:

  1. Клон репо, который создает удаленный именованный источник
  2. Создать новую локальную ветку от мастера
  3. Внесите изменения в локальную ветку

У меня вопрос, как местный филиал будет доступен на Github для других, имеющих доступ к репо? Какова общая процедура клонирования репо и создания новой ветки, доступной удаленно? Любые предложения будут высоко ценится.

2 ответа2

1

Вы должны прочитать книгу Git Pro, ответ на ваш вопрос находится в первых главах.

Ни один из ваших коммитов не будет доступен для других, если вы не нажмете на него. Когда вы хотите опубликовать текущее состояние этой ветки, вы делаете git push origin <branchname> .

1

Локальная ветвь не будет доступна другим, имеющим доступ к репозиторию github, пока вы не нажмете свою ветку и не вернетесь к мастеру с помощью "git push".

В качестве примера, скажем, я хочу загрузить существующий репозиторий «my-project» в «some-site» с доступом по ssh, где единственная существующая ветвь - это ветвь master. Затем я добавлю ветку «new-feature» и перенесу изменения обратно в исходный репозиторий. Я сделаю следующее:

  1. git clone ssh://some-site/my-project.git
  2. новая ветка git
  3. новая функция git checkout
  4. <внести некоторые изменения, добавить файлы, удалить файлы и т. д.>
  5. мерзавец совершить
  6. git push origin новая функция: новая функция

что делает каждая команда:

  1. клонирует удаленный репозиторий на вашу машину
  2. создает ветку новой функции в локальном хранилище
  3. меняет рабочую ветку на новую
  4. самоочевидный
  5. фиксирует изменения, сделанные на шаге 4, в локальный репозиторий (в удаленном репо ничего не меняется)
  6. выдвигает локальную ветвь новой функции в ветку новой функции в исходном репо

На этом этапе любой, у кого есть доступ к исходному репозиторию, получит доступ к ветви новой функции. Когда кто-то еще клонирует репо или синхронизирует свое локальное репо с этим источником, новая функция появится, когда они запустят команду "git branch".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .