Импортировать существующий исходный код в GitHub


609

Как я могу импортировать исходный код со своего компьютера в свою учетную запись GitHub?


4
Я нашел, что проще всего использовать графический интерфейс GitHub, а затем указать конфигурацию в корне вашего рабочего пространства и нажать кнопку «Найти репозитории на вашем жестком драйвере», и он определит все локальные репозитории Git в вашем рабочем пространстве и позволит импортировать их по отдельности. Легко.
Джангофан

1
@djangofan На какой графический интерфейс github вы ссылаетесь? У вас есть ссылка на графический интерфейс?
Андерсон Грин


Ответ Пита отлично работал на OS X - нет необходимости использовать графический интерфейс.
funroll

Ответы:


969

Если у вас есть локальный исходный код, который вы хотите добавить в новый удаленный новый репозиторий git, не «сначала клонируя» удаленный, сделайте следующее (я часто так делаю - вы создаете свой удаленный пустой репозиторий в bitbucket / github, затем нажимаете вверх ваш источник)

  1. Создайте удаленный репозиторий и получите URL-адрес, такой как git@github.com:/youruser/somename.gitилиhttps://github.com/youruser/somename.git

    Если локальное репозиторий GIT уже настроено, пропустите шаги 2 и 3


  2. Локально, в корневом каталоге вашего источника, git init

    2а. Если вы инициализируете репозиторий с помощью .gitignore и README.md, вы должны сделать, git pull {url from step 1}чтобы убедиться, что вы не передаете файлы в источник, который хотите игнорировать;)

  3. Локально, добавьте и зафиксируйте то, что вы хотите в своем первоначальном репо (для всего, git add .затем git commit -m 'initial commit comment')


  4. прикрепить ваше удаленное хранилище с именем origin (как клонирование)
    git remote add origin [URL From Step 1]

  5. Выполните, git pull origin masterчтобы вытащить удаленную ветвь так, чтобы они были синхронизированы.
  6. чтобы подтолкнуть вашу основную ветку (смените master на что-то другое для другой ветви):
    git push origin master

92
Работал на меня. Я обнаружил, что мне нужно бежать git pull origin masterдо толчка. Без этого я получил ошибку «потому что конец вашей текущей ветви позади» во время попытки push. Может быть, это потому, что я создал удаленный репозиторий со стартовым файлом Readme.md.
Yuvilio

5
Получите URL-адрес хранилища для протокола SSH, чтобы можно было выполнять фиксацию с использованием личных ключей ssh ​​вместо ввода пароля.
Сниколас

5
@yuvilio именно поэтому. Если вы создаете репозиторий github с помощью readme.md, вы на самом деле отстаете от того, что вы пытаетесь создать.

7
Как сказал @Snicolas, если вы используете SSH, используйте git@github.com: youruser / somename.git вместо git: //github.com/youruser/somename.git.
цусанка

5
GitHub объясняет эту же процедуру сразу после создания нового репо. Как уже сказал @yuvilio, вы не должны инициализировать свой репозиторий README. Вместо этого перейдите к touch README.mdсуществующему локальному репо
Simone

41

Это объясняется в отличной бесплатной электронной книге ProGit . Предполагается, что у вас уже есть локальный репозиторий Git и удаленный. Для их подключения используйте:

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

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

$ git push pb master

Если вы еще не настроили локальный и / или удаленный репозиторий, обратитесь к справке по GitHub и предыдущим главам книги .


21

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

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

  1. Нажмите кнопку «+» и выберите «Добавить локальный репозиторий» Введите описание изображения здесь
  2. Перейдите в каталог с существующим кодом и нажмите кнопку «Добавить».
  3. Теперь вам будет предложено «Создать новый локальный Git-репозиторий здесь», поэтому нажмите кнопку «Да». Введите описание изображения здесь
  4. Добавьте «Сводка коммитов» и «Расширенное описание» по желанию. По умолчанию все ваши файлы должны быть отмечены галочками. Нажмите кнопку «Выполнить и синхронизировать». Введите описание изображения здесь
  5. Теперь вам будет предложено добавить имя и описание вашего проекта, а также учетную запись, на которую вы хотите его отправить (если у вас их несколько). Нажмите кнопку «Push Repository» Введите описание изображения здесь

Через некоторое время с вращающимся значком GitHub ваш исходный код будет принадлежать к локальному репозиторию и передаваться / синхронизироваться с удаленным репозиторием в вашей учетной записи GitHub. Все это предполагает, что вы ранее настроили графический интерфейс GitHub, свою учетную запись GitHub и ключи SSH.


@cfont Сохраняет ли это длинную историю, которая уже существует в моем локальном репозитории, или это просто создает один огромный коммит, и я потерял всю свою историю?
theJollySin

1
@theJollySin, извините, мне нужно поработать над тем, чтобы уведомления о переполнении стека работали должным образом. Это должно сохранить историю вашего существующего локального хранилища. TBH, я не проверял это в то время, но я не могу придумать причину, по которой это раздавит вашу местную историю. Фактически, весь смысл должен состоять в том, чтобы сохранить это, если вы действительно не хотите раздавить коммиты.
cfont

12

Как справедливо отмечает JB, на GitHub это невероятно легко, просто следуя инструкциям.

Вот пример инструкций, отображаемых после настройки нового репозитория на GitHub с помощью http://github.com/new, когда вы вошли в систему.

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email email@gmail.com


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

Это не может быть проще!



8

У меня была небольшая проблема со слиянием при попытке сделать шаги Пита. Вот шаги, которые я закончил.

  1. Используйте свою ОС, чтобы удалить .gitпапку внутри папки проекта, которую вы хотите зафиксировать. Это даст вам чистую доску для работы. Это также хорошее время для создания .gitignoreфайла в папке проекта. Это может быть копия .gitignoreсозданного при создании хранилища на github.com. Делая эту копию, вы не сможете удалить ее при обновлении репозитория github.com.

  2. Откройте Git Bash и перейдите к папке, из которой вы только что удалили .gitпапку.

  3. Беги git init. Это устанавливает локальный репозиторий в папке, в которой вы находитесь.

  4. Беги git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [псевдоним] может быть чем угодно. [Псевдоним] предназначен для привязки к локальному репозиторию, поэтому имя машины хорошо подходит для [псевдонима]. URL можно найти на github.com, в верхней части убедитесь, что нажата кнопка HTTP из HTTP | SSH | Git только для чтения. git://URL не работает для меня.

  5. Беги git pull [alias] master. Это обновит ваш локальный репозиторий и позволит избежать некоторых конфликтов слияния.

  6. Запустить git add .

  7. Запустить git commit -m 'first code commit'

  8. Запустить git push [alias] master


1
-1 Это немного больше, чем просто «импортировать существующий код в github». удаляет всю историю хранилища!
Майкл Даррант

6
  1. Откройте панель инструментов GitHub (она находится по адресу https://github.com/, если вы вошли в систему)
  2. Нажмите на новый репозиторий
  3. Заполнить бланки; нажмите на Создать репозиторий
  4. Следуйте инструкциям на странице, которая появляется затем

6

Из Bitbucket:

Нажмите на существующее хранилище. У вас уже есть Git-репозиторий на вашем компьютере. Давайте подтолкнем его к Bitbucket:

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time

1
fyi, -u - это то же самое, что и -set-upstream.
AnneTheAgile

4

Я пришел сюда в поисках простого способа добавления существующих исходных файлов в репозиторий GitHub. Я увидел превосходно полный ответ @ Пита и подумал: «Что ?! Должен быть более простой способ».

Вот такой простой способ за пять шагов (никаких действий с консолью не требуется!)

Если вы действительно торопитесь, вы можете просто прочитать шаг 3. Остальные только для полноты.

  1. Создайте репозиторий на сайте GitHub. (Я не буду оскорблять ваш разум, проводя вас через это шаг за шагом.)
  2. Клонируйте новый репозиторий локально. (Это можно сделать либо через веб-сайт, либо через клиентское программное обеспечение для настольных компьютеров.)
  3. Найдите новый клонированный репозиторий на своем жестком диске и добавьте файлы, как если бы вы делали это, в обычный каталог.
  4. Синхронизируйте изменения обратно в GitHub.
  5. Это оно!

Выполнено!


4

Добавьте репозиторий GitHub в качестве удаленного источника (замените [] на ваш URL):

git remote add origin [git@github.com:...]

Переключитесь на вашу основную ветку и скопируйте ее в развивающую ветку:

git checkout master
git checkout -b develop

Переместите свою ветку разработки в ветку разработки GitHub ( -fозначает «сила»):

git push -f origin develop:develop

3

На самом деле, если вы решите создать пустой репозиторий на GitHub, он даст вам точные инструкции, которые вы можете почти скопировать и вставить в свой терминал, которые (на данный момент):

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin master

2

Вот несколько инструкций о том, как запустить GitHub-репозиторий и затем вставить в него уже созданный вами код. Первый набор инструкций прямо из GitHub.

Источник: https://help.github.com/articles/create-a-repo/

  1. В правом верхнем углу любой страницы нажмите, а затем нажмите Новый репозиторий .

  2. Создайте короткое, запоминающееся имя для своего хранилища. Например, «Привет-мир».

  3. При желании, добавьте описание вашего хранилища. Например, «Мой первый репозиторий на GitHub».

  4. Выберите между созданием публичного или частного хранилища.

  5. Инициализируйте этот репозиторий с помощью README.

  6. Создать репозиторий.

Поздравляем! Вы успешно создали свой первый репозиторий и инициализировали его файлом README.

Теперь, после этих шагов, вы захотите перенести код на вашем локальном компьютере в репозиторий, который вы только что создали, и выполните следующие действия:

  1. git init (в корневой папке, где находится ваш код)

  2. git add -A (это добавит все файлы и папки в вашем каталоге для фиксации)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (вы найдете этот адрес в репозитории GitHub, который вы только что создали в разделе "ssh clone URL" на главной странице)

  5. git push -u origin master

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

  1. git commit -m "New changes"

  2. git push origin master (если master - это ветка, над которой вы работаете)


1

Решение для меня:

Проблема заключается в размере файла, который не может превышать 100M.

Перед миграцией на github в репозитории сделайте следующее:

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

Готов!

Теперь выполните миграцию снова с помощью инструмента: https://github.com/new/import

подробнее: ошибка при нажатии на репозиторий github и https://rtyley.github.io/bfg-repo-cleaner/

Я надеюсь, что помог тебе. :)


0

Создайте свой репозиторий в git hub

Разрешить отслеживать ваш проект по GIT

  1. с помощью CMD перейдите в папку, в которой хранится файл вашего проекта-> cd / automatic / xyz / codebase, проверьте инициализацию git с помощью команды git status. Если вы получаете это сообщение об ошибке: fatal: Не репозиторий git (или любой из родительских каталогов): .git, это означает, что папка, в которой вы сейчас находитесь, не отслеживается git. В этом случае инициализируйте git внутри папки вашего проекта, набрав git init, затем выполните процесс добавления и фиксации вашего проекта.

Если вы получили другое сообщение об ошибке, внимательно прочитайте, что оно говорит. Это говорит о том, что git не установлен на вашем компьютере, говоря, что слово «git» не распознается? Это говорит о том, что вы уже находитесь в папке или подпапке, где инициализируется git? Погуглите свою ошибку и / или вывод, чтобы понять ее и выяснить, как ее исправить.

Теперь выполните следующую команду

#

echo "имя вашего репозитория git hub" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https: // #

вышеуказанный блок вы получите, когда впервые открываете свой репозиторий

Если возникает ошибка или ничего не происходит после последней команды "git push -u origin master", не беспокойтесь

перейдите в папку, в которой доступен код, и через расширение git переместите его в git [URL], ветвь

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