2016-05-29 61 views
2

Насколько я понял, вы не можете инициализировать репозиторий удаленно от локального. Поэтому я создаю репозиторий на удаленном компьютере с файлом readme.Нажатие существующего проекта на github удаляет существующий файл readme

enter image description here

Затем я попытался толкая локальный проект на этом хранилище.

  1. MkDir MyTestRepo
  2. кд MyTestRepo/
  3. сенсорный test.txt
  4. мерзавец INIT
  5. мерзавец добавить.
  6. мерзавец совершить -m "Первый коммит"
  7. мерзавец удаленного добавить происхождения https://github.com/aniket91/MyTestRepo.git
  8. GIT толчок -f мастер происхождения

enter image description here

Почему это произошло?

ответ

3

Силовой толчок заменил историю удаленного репо на местное репо.

И ваше местное репо еще не содержит README.md.

Лучшим способом было бы сначала git pull --rebase. Затем git push

+0

Имеет смысл. Благодарю. –

2

Readme существует в удаленном репо, но не локально. Поскольку вы не вытаскивали удаленное репо, этот файл readme никогда не сливался с вашим локальным. Вместо этого флаг -f, «force», перезаписывал удаленный и readme вместе с ним.

4

Насколько я понял, вы не можете инициализировать репозиторий на удаленных локальных.

Это зависит от того, что вы подразумеваете под «инициализацией».

... git push -f origin master

Это инициализирует (для некоторого значения "инициализации") часть удаленного хранилища из локальной.

Почему это [уничтожило мой README.md]?

Вы сказали удаленные «уничтожить существующую master ветви, сделать вашу master точки ветвления совершить 9288e34 вместо этого.»

Без (силы) флаг -f, вы бы спросил пульт, вместо того, чтобы говорить (командир), и он сказал бы «но если я сделаю это, я потеряю 693f1a8», который является совершить то, что в нем было README.md. (Он представит эту информацию в форме жалобы о том, что ваш толчок был «не быстрым», что верно, но не очень поучительно.)

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