Как добавить контроль версий Git (Bitbucket) в существующую папку с исходным кодом?

83

Как я могу добавить содержимое существующей папки в систему контроля версий Git?

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

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

user1406716
источник
Репозиторий git уже существует на bitbucket? Или вы только начинаете с нуля и хотите создать репозиторий git, который будет на битбакете?
Jeff B
Я уже создал репо на битбакете.
user1406716
3
Здесь описано именно то, что вам нужно. samranga.blogspot.com/2015/07/…
Самита Чатуранга
Если у вас есть такой инструмент, как Visual Studio для Git - вам когда-нибудь понадобится использовать командную строку? У него есть средство публикации, где вы можете опубликовать совершенно новую ветку
Peter PitLock

Ответы:

177

Окончательное рабочее решение с использованием ответа @Arrigo и комментария @Samitha Chathuranga, я соберу все вместе, чтобы создать полный ответ на этот вопрос:

  1. Предположим, у вас есть папка с вашим проектом на ПК;
  2. Создайте новый репозиторий на bitbucket: введите описание изображения здесь

  3. Нажмите на У меня есть существующий проект : введите описание изображения здесь

  4. Откройте консоль Git CMD и введите команду 1 со второго изображения (перейдите в папку проекта на вашем ПК)

  5. Введите команду git init

  6. Введите команду git add --all

  7. Введите команду 2 со второго изображения ( git remote add origin YOUR_LINK_TO_REPO)

  8. Введите команду git commit -m "my first commit"

  9. Введите команду git push -u origin master

Примечание: если вы получаете ошибку, неспособную определить адрес электронной почты или имя, просто введите следующие команды после 5-го шага:

 git config --global user.email "yourEmail"  #your email at Bitbucket
 git config --global user.name "yourName"  #your name at Bitbucket
Холецкий
источник
@VibhavChaddha есть команда git:git remote add origin YOUR_LINK_TO_REPO
Choletski
Нет, я знаю. Я имел в виду, должны ли мы использовать его где-то между шагами, которые вы упомянули, потому что вы специально указали это на картинке. Благодарю.
Me_developer
1
На шаге 7, если у вас нет открытого ключа, настроенного для ssh (т.е. получить доступ запрещен (publickey) .fatal: не удалось прочитать из удаленного репозитория. При нажатии), используйте https URL, git remote set-url origin https://<username>@bitbucket.org/<username>/reponame.git
M_K
1
@Jonjie там может быть любой текст, какой хочешь
Холецкий
1
@Choletski Отлично! :)
Jonjie
27

Вы можете создать каталог Git в каталоге, содержащем другие файлы. После этого вы можете добавить файлы в репозиторий и сделать там коммит.

Создайте проект с некоторым кодом:

$ mkdir my_project
$ cd my_project
$ echo "foobar" > some_file

Затем, находясь в папке проекта, сделайте начальную фиксацию:

$ git init
$ git add some_file
$ git commit -m "Initial commit"

Затем для использования Bitbucket или чего-то подобного вы добавляете remoteи нажимаете:

$ git remote add some_name user@host:repo
$ git push some_name

Вы также можете затем настроить ветви отслеживания и т. Д. См. git remote set-branchesСоответствующие команды для этого.

Йоханнес
источник
1
Нужно ли вам сначала создать репозиторий git в битбакете, чтобы иметь возможность нажимать на него?
Jeff B
4
Да. Вы должны создать место на bitbucket, чтобы они знали, кого ожидать, репо, которое они создают, будет пустым, поэтому вы можете протолкнуть туда что угодно :)
Йоханнес
Я получаю сообщение об ошибке ниже. {master *} ~ / sites / example7.dev $ git remote add some_name mavme@bitbucket.org/mavme/example-site-example7.dev.git 04:40:46 {master *} ~ / sites / example7.dev $ git push some_name Пароль для ' mavme@bitbucket.org ':
user1406716
следующая часть сообщения об ошибке, так как она не поместилась в один комментарий: на mavme@bitbucket.org/mavme/example-site-example7.dev.git ! [отклонено] master -> master (без перемотки вперед) ошибка: не удалось отправить некоторые ссылки на ' mavme@bitbucket.org/mavme/example-site-example7.dev.git ' Чтобы предотвратить потерю истории, не- обновления с быстрой перемоткой вперед были отклонены. Объедините удаленные изменения (например, «git pull») перед повторным нажатием. См. Подробности в разделе «Примечание о быстрой перемотке вперед» в «git push --help». 04:40:54
user1406716
Похоже, что bitbucket по какой-то причине создал главную ветку. Вы можете клонировать его ( git clone mavme@bitbucket.org/mavme/example-site-example7.dev.git') и проверить, нет ли там ничего стоящего. Вы продвигаете свой проект с помощью force ( git push -f some_name)
Йоханнес
24

Пользователь Йоханнес рассказал вам, как добавить существующие файлы в репозиторий Git в общей ситуации . Поскольку вы говорите о Bitbucket, я предлагаю вам сделать следующее:

  1. Создайте новый репозиторий на Bitbucket (вы можете увидеть кнопку «Создать» вверху страницы своего профиля), и вы перейдете на эту страницу:

    Создать репозиторий на Bitbucket

  2. Заполните форму, нажмите «Далее» и вы автоматически перейдете на эту страницу:

    Создать репозиторий с нуля или добавить существующие файлы

  3. Выберите добавить существующие файлы, и вы перейдете на эту страницу:

    Введите описание изображения здесь

  4. Вы используете эти команды и загружаете существующие файлы в Bitbucket. После этого файлы будут в сети.

Арриго
источник
3
Команды на 4-м шаге выдадут ошибки. Необходимо выполнить следующие шаги по этой ссылке. samranga.blogspot.com/2015/07/…
Самита Чатуранга
2

Команды приведены в вашей учетной записи Bitbucket. Когда вы открываете репозиторий в Bitbucket, он дает вам полный список команд, которые необходимо выполнить в указанном порядке. Не хватает только того, где именно нужно выполнять эти команды (Git CLI, терминал SourceTree ).

Я боролся с этими командами, когда писал их в Git CLI, но нам нужно выполнить команды в окне терминала SourceTree, и репозиторий будет добавлен в Bitbucket.

Sver
источник
1

У меня есть очень простое решение этой проблемы. Вам не нужно использовать консоль.

TL; DR : создайте репо, переместите файлы в папку существующих проектов, SourceTree спросит вас, где находятся его файлы, найдите файлы. Готово, ваше репо находится в другой папке.

Длинный ответ:

  1. Создайте свой новый репозиторий на Bitbucket
  2. Нажмите "Клонировать в SourceTree"
  3. Позвольте программе разместить ваше новое репозиторий там, где она хочет, в моем случае SourceTree создал новую папку в Мои документы.
  4. Найдите в проводнике Windows вашу новую папку репозитория.
  5. Вырежьте .hg и README (или что-нибудь еще, что найдете в этой папке)
  6. Вставьте его в то место, где находится ваш существующий проект
  7. Вернитесь в SourceTree, и он скажет «Обнаружена ошибка ...», просто нажмите OK.
  8. Слева у вас будет репозиторий, но с красным сообщением: Репозиторий перемещен или удален. Щелкните по нему.
  9. Теперь вы увидите всплывающее окно «Отсутствует репозиторий». Нажмите «Изменить папку» и найдите папку с существующим проектом, в которую вы переместили ранее сохраненные файлы.
  10. Это оно!

Советы. Параметр «Клонировать в SourceTree» недоступен сразу после создания нового репозитория, поэтому сначала необходимо нажать «Создать файл Readme», чтобы этот параметр стал доступен.

Кристиан Корман
источник
шаг 6.5 удалить новую папку репозитория.
AMAN77