#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. Если эти предположения верны, вы могли бы предпринять следующие шаги:
cd socialmediaproxy
git init
инициализировать этот каталог как репозиторий git с рабочим деревом. Это создаст.git
каталог, вsocialmediaproxy
котором будет храниться вся история вашего репозитория.git add .
для размещения всех файлов в этом каталоге для первой версии проекта в этом репозитории. Если в этом каталоге есть сгенерированные файлы, вам следует быть более осторожным, просто добавив нужные файлы в репозиторий и проигнорировав остальные, создав.gitignore
файл.git commit -m "First version of the socialmediaproxy project"
для создания первого коммита в вашем репозитории.git remote add origin http://dalvarado@mydomain.com/socialmediaproxy.git
чтобы настроить «удаленный» вызовorigin
, указывающий на удаленный репозиторий. («Remotes» — это, по сути, просто удобные псевдонимы для других репозиториев.)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
Либо это, либо вы могли бы просто удалить новый репозиторий, который вы только что создали, и воссоздать его как клон (как вы пытались сделать). Нет причин создавать пустой репозиторий, если вы хотите, чтобы он был клоном другого репозитория.