2016-09-20 3 views
0

Я создал этот проект совершенно новым. Я создал remote repository и сделал это на своей локальной машине.ошибка git pull при работе с удаленным репозиторием

$ git init 
$ git remote add origin [email protected] 
$ git add . 
$ git commit 
$ git push -u origin master 
$ git branch -u origin/master 

Тогда я написал что-то в риом в remote repository. Когда я печатаю на моей локальной машине git checkout master я получаю это:

Already on 'master' Your branch is behind 'origin/master' by 2 commits, and can be fast forwarded. (use "git pull" to update your local branch)

Однако, когда я пытаюсь сделать $ git pull, как предложил я получаю это:

error: The following untracked working tree files would be overwritten by merge: README.md Please move or remove them before you can merge.

Как получить изменения от origin к моему master то ?!

ответ

1

Как и Git, вы должны удалить свои необработанные файлы дерева обработки (в вашем случае есть только один, называемый README.md). Если у вас есть изменения, которые вы хотите сохранить, зафиксировать их, а затем сделать притяжение.

Вопрос: почему вы не сделали git clone ...?

EDIT

Когда вы делаете git pull, мерзавец делает git fetch с последующим git merge. Слияние может быть таким же простым, как перемотка вперед, если вы не отвлекались от пульта. Но если вы это сделали, git необходимо объединить изменения вместе. Чтобы убедиться, что вы не потеряете какую-либо работу, git жалуется, есть ли изменения в файле, который будет затронут слиянием в вашем рабочем каталоге.

Чтобы сохранить изменения, которые вы можете

  1. добавить файл в индекс (git add README.md), создать тайник (git stash), сделайте слияние (git merge origin/master) и поп-музыки вы копить (git stash pop) или
  2. создать коммит с учетом изменений (git add README.md с последующим git commit), а затем объединить изменения с пульта дистанционного управления (git merge origin/master)
+0

что кажется unreasnoable. Что делать, если в коде много изменений? Должен ли я вручную удалить все файлы, которые были изменены, а затем заменить их файлами вверх по течению ?! Я хочу включить изменения, внесенные вверх по течению в код. Я попробовал «git fetch», а затем «git merge origin», но это дало мне «происхождение - не то, что мы можем объединить». Я не делал клонов, потому что папка, в которой я создала репозиторий, не пуста. – Stophface

+0

Когда вы делаете 'git pull', git делает' git fetch', за которым следует 'git merge'. Слияние может быть таким же простым, как ускоренная перемотка вперед, если вы не отвлекались от источника, но если вы это сделали, git необходимо объединить изменения вместе. Чтобы убедиться, что вы не потеряете какую-либо работу, git жалуется, есть ли изменения в файле, который будет затронут слиянием в вашем рабочем каталоге. Чтобы сохранить свои изменения, вы можете: 1) добавить файл в свой индекс, создать кошелек, выполнить слияние и поп-копить или 2) создать фиксацию с учетом ваших изменений, а затем объединить изменения с удаленного. Я уточню свой ответ. – yaba

+0

Когда я пытаюсь «git merge origin/master», я получаю все то же самое: 'error: Следующие неискоренированные рабочие файлы дерева будут перезаписаны слиянием: \t README.md Пожалуйста, переместите или удалите их, прежде чем сможете объединить.' – Stophface