Локальные и удаленные репозитории EGit

Я новичок в git и обмотаю голову тем, как я должен использовать git и egit. Из учебника egit я настроил репозиторий на GitHub, подтолкнул проекты Eclipse к удаленному репозиторию GitHub из своей локальной рабочей области, я могу вносить изменения в GitHub, переключаться между ветвями, видеть обновления на GitHub и т.д. Это все имеет смысл.

Глядя на проводник git Repository, у меня есть список "локальных" ветвей и нет ветвей "Удаленное отслеживание", и у меня нет "Remotes". Когда я создаю ветку из локальной ветки, диалог egit указывает "Вы создаете ветвь на основе локальной ветки" и предполагает, что я должен делать ветку из удаленной ветки отслеживания.

Итак, мой вопрос: правильно ли я использую egit?

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

Или я должен теперь вырезать локальный репозиторий и настроить новый удаленный репозиторий, клонируя существующий репозиторий GitHub, который я изначально создал из своего рабочего пространства?

Или я создаю новый Push и Fetch "Remote" для моего существующего репозитория git?

Или что-то еще?

Confused.

Ответ 1

Раздел "Ветвление" руководства пользователя Egit может помочь:

Branch creation dialog

Нет необходимости создавать локальную ветвь, которая будет называться как ветвь удаленного отслеживания (см. "Трудно понять git-fetch ", чтобы иметь хорошее понимание" ветвей удаленной трассировки".

Вы можете создать столько локальных ветвей (т.е. ветвей, которые вам не нужны будут никуда), как вам нужно/нужно.

Но если вы не видите удаленную ветку, возможно, вы не получили это репо GitHub в первую очередь: см. Fetching.

Ответ 2

Поскольку вы создали репо в своей локальной системе, а затем перетащили его в github без создания пульта дистанционного управления, у вас нет пульта дистанционного управления. Удаленный - это просто короткий псевдоним для удаленного URL-адреса репозитория. Чтобы исправить это, создайте удаленный и нажмите и выберите конфигурацию из представления репозиториев. Чтобы заполнить ветки удаленного отслеживания в вашем локальном репо, вам нужно запустить выборку один раз. Как только это будет сделано, вы можете использовать "Push to upstream" вместо более сложного диалога Team > Push..., который позволяет определять все параметры "на лету". При использовании командной строки git вы найдете те же самые концепции, которые были реализованы там:

с    "$ git push [url] [refspec]" (например, "$ git push https://github/user/myrepo.git master: master" ) вы передаете все параметры явно, это похоже на Team > Push... в EGit

с    "$ git push [remote]" (например, "$ git push origin" ) вы нажимаете на репозиторий, определяемый параметрами конфигурации данного пульта (проверьте .git/config, чтобы увидеть эти параметры или открыть конфигурацию репозитория от предпочтения egit в Eclipse), это похоже на Team > Push to upstream в EGit. Обычно используемый здесь метод refspec неявно настраивается при создании локальной ветки на основе удаленной ветки отслеживания. Также можно добавить эту конфигурацию позже, но поскольку это больше утомительная ручная настройка другим способом более удобна.

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