Отправка из локального репозитория на удаленный сервер GitHub


113

Я создал локальный репозиторий моей папки решения Visual Studio 2010 с помощью графического интерфейса пользователя Git на моем компьютере разработчика. Затем я создал удаленный репозиторий в своей учетной записи GitHub. Теперь я ищу, как перенести мой локальный репозиторий в удаленный репозиторий.

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

Как мне отправить локальное репо в удаленное репо на GitHub?

Ответы:


230

Вы перемещаете свой локальный репозиторий в удаленный репозиторий с помощью git pushкоманды после того, как сначала установили связь между ними с помощью git remote add [alias] [url]команды. Если вы посетите свой репозиторий Github, он покажет вам URL-адрес для использования. Сначала вы введете что-то вроде:

git remote add origin git@github.com:username/reponame.git

Если вы не начали работу git cloneс удаленным репозиторием, и в этом случае этот шаг уже был выполнен за вас.

И после этого вы наберете:

git push origin master

После первого нажатия вы можете просто ввести:

git push

когда вы захотите обновить удаленный репозиторий в будущем.


1
Вы действительно набираете "~ origin ~" или просто "origin"? Лучше избегать тильды, так как она что-то значит для Git.
— GoZoner

1
Для меня это работает только с https: github.com/username/repo.git, я не знаю почему.
— eLRuLL

7
Пришлось git pull origin masterсначала, а потом толкнуть
— Renaud

10
Почему они не могут объяснить это в обычных документах? Как будто это секрет или какое-то дерьмо. СПАСИБО!
— R Claven

1
@RClaven, после создания нового репозитория на Github это четко объясняется на следующем экране в разделе, озаглавленном «Вытолкнуть существующий репозиторий из командной строки».
— мудзиму

3

Тип

git push

из командной строки внутри каталога репозитория


1
Я полагаю, это будет означать использование gitbash вместо gitgui?
— quakkels

Да, если вы работаете в системе без встроенной полнофункциональной командной строки, то об этом стоит упомянуть в вопросе
— Гарет

нет, у меня это есть ... Просто меня немного пугает командная строка. В основном потому, что я мало использовал его. Это поможет это изменить.
— quakkels

Это может быть крутая кривая обучения, но общее мнение таково, что преимущества намного перевешивают недостатки
— Гарет

Спасибо. Мне не хотелось долго искать. IDE продолжает зависать до размеров. Еще раз спасибо.
— Эрик Лерой

3

Subversion неявно имеет в удаленное хранилище , связанное с ним в любое время. Git, с другой стороны, позволяет использовать множество «пультов», каждый из которых представляет собой единое удаленное место, куда вы можете нажимать или извлекать.

Вам нужно добавить пульт для репозитория GitHub в ваш локальный репозиторий, а затем использовать git push ${remote}или git pull ${remote}для push и pull соответственно - или эквиваленты GUI.

Pro Git обсуждает пульты здесь: http://git-scm.com/book/ch2-5.html

Справка GitHub также обсуждает их более «целенаправленно» здесь: http://help.github.com/remotes/

Как только вы связали эти два, вы сможете толкать или тянуть ветви.


1

Это сработало для моей версии GIT 1.8.4:

  1. В папке локального репозитория щелкните правой кнопкой мыши и выберите « Git Commit Tool ».
  2. Там, выберите файлы , которые вы хотите загрузить, в разделе « Unstaged изменения » и нажмите кнопку « Stage Изменено » кнопку. (Сначала вы можете нажать кнопку « Повторное сканирование », чтобы проверить, какие файлы были изменены и еще не загружены.)
  3. Напишите сообщение о фиксации и нажмите кнопку « Зафиксировать ».
  4. Теперь снова щелкните папку правой кнопкой мыши и выберите « Git Bash ».
  5. Введите: git push origin master и введите свои учетные данные. Готово.

0

открыть командную строку Перейти в каталог проекта

введите git remote добавить источник местоположения репозитория git hub с помощью git

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.