Проблема со связыванием моего исходного кода с репозиторием git

#git

#git

Вопрос:

Я использую Git 1.7.4.1 на Mac 10.6.6. Я хочу зафиксировать свой существующий проект в репозитории, который был только что создан. Однако, когда я нахожусь в каталоге, где расположен мой проект, я получаю эту ошибку …

 git clone http://dalvarado@mydomain.com/socialmediaproxy.git
fatal: destination path 'socialmediaproxy' already exists and is not an empty directory.
  

Это верно, но я хочу поместить в свой репозиторий каталог «socialmediaproxy». Как мне это сделать?

Спасибо, — Дэйв

Комментарии:

1. Что такое ваш «существующий проект»? Это копия этого общедоступного проекта, основанного на архивировании или что-то в этом роде? Или это каталог, содержащий только пару вещей, которые вы хотите добавить в него?

Ответ №1:

Вы говорите, что удаленный репозиторий был недавно создан, поэтому я предполагаю, что в нем еще нет коммитов. Я также предполагаю, что ваш существующий каталог еще не находится под контролем git. Если эти предположения верны, вы могли бы предпринять следующие шаги:

  1. cd socialmediaproxy
  2. git init инициализировать этот каталог как репозиторий git с рабочим деревом. Это создаст .git каталог, в socialmediaproxy котором будет храниться вся история вашего репозитория.
  3. git add . для размещения всех файлов в этом каталоге для первой версии проекта в этом репозитории. Если в этом каталоге есть сгенерированные файлы, вам следует быть более осторожным, просто добавив нужные файлы в репозиторий и проигнорировав остальные, создав .gitignore файл.
  4. git commit -m "First version of the socialmediaproxy project" для создания первого коммита в вашем репозитории.
  5. git remote add origin http://dalvarado@mydomain.com/socialmediaproxy.git чтобы настроить «удаленный» вызов origin , указывающий на удаленный репозиторий. («Remotes» — это, по сути, просто удобные псевдонимы для других репозиториев.)
  6. git push -u origin master чтобы отправить ваш единственный коммит в master ветке в удаленный репозиторий. В -u опции указано связать ветку master в origin репозитории с «вышестоящим» репозиторием вашей master ветки. Это позволяет использовать различные полезные значения по умолчанию в git и обеспечивает более полезный вывод из git status и других команд.

Комментарии:

1. Спасибо за эти пояснения. Ваши предположения были правильными, и мы даже удалили и воссоздали репозиторий, но я получил эти ошибки при выполнении последней команды … ошибка: не удалось отправить некоторые ссылки в ‘ dalvarado@mydomain.com/test.git

Ответ №2:

Удалите имеющийся у вас каталог socialmediaproxy, поскольку клон создаст его для вас.

Ответ №3:

git clone предназначен для создания нового репозитория из существующего.

Вы хотите получить данные из socialmediaproxy:

 git remote add origin http://dalvarado@mydomain.com/socialmediaproxy.git
git fetch origin
git checkout master
  

Либо это, либо вы могли бы просто удалить новый репозиторий, который вы только что создали, и воссоздать его как клон (как вы пытались сделать). Нет причин создавать пустой репозиторий, если вы хотите, чтобы он был клоном другого репозитория.