2010-07-07 5 views
2

У меня есть пульт, который аналогичен или аналогичен удаленному проекту rails в моем текущем каталоге. Для того, чтобы синхронизировать два, яОтсутствует файл после git pull?

git init 
git remote add origin [email protected] 
git pull 

Проблема заключается в том, что некоторые из файлов, которые я имел в моей рабочей копии были добавлены (т.е. не в пульте дистанционного управления), так что, когда я

git status 

его должен показать кучу необработанных файлов. Вместо этого я вижу файлы из репо, устаревшие.
Почему он не просил разрешения конфликтов в этих файлах? И где мои старые файлы?

ответ

3

Слияние, неявное в «git pull», должно быть переписано локальными файлами, которые не были выполнены.

Я хотел бы предложить эту последовательность:

git init 
git add . 
git commit -m"local" 
git remote add origin [email protected] 
git fetch origin 

На данный момент наблюдается репозиторий с "gitk --all"

Слияние с

git merge remotes/origin/master 

Это должно позволить вам знать о конфликты, если таковые имеются. И локальные файлы не будут перезаписаны.

+0

Это, я думаю, правильно.Проблема заключалась в том, что эти локальные файлы были отслежены, поэтому Гит не знал, что их следует хранить. git add && git commit требуется, прежде чем вы сможете объединять файлы. – Makis

0

Если у вас есть местное репо (с его рабочим каталогом), вам не нужно «git init» ничего.

git remote add origin [email protected] 
git pull 

должно быть достаточно.

Если вы сделали git init, это должно быть в пустом хранилище, в котором затем было импортировано основное содержимое «origin».


Я не имел локальный репозиторий, только локальные файлы.

Для этого вам необходимо добавить их первым (см. r-mercado's answer).

Из git pull man page:

Предупреждения: Запуск git pull (на самом деле, основной git merge) с неподтвержденными изменениями не рекомендуется: в то время как это возможно, он оставляет вас в состоянии, которое трудно вернуться из в случае конфликта.

+0

У меня не было локального репо, только локальные файлы. – tesserakt

0

Что делать, если после команд, которые вы делали выше, вы пытаетесь это сделать?

git checkout blah 
git pull origin blah 

Я все еще изучаю git, поэтому я не уверен, но просто думаю. (Возможно, необходимо также заменить blah на команды выше).

Смежные вопросы