Я процитировал часть журнала сеанса вашего терминала, которая, по-видимому, ниже.Это команды между тем, где находятся ваши файлы, и тем, когда они были заменены одним AStarDemo.jar
.Я отформатировал так, чтобы было яснее, что происходит, и удалил команды, которые потерпели неудачу:
$ ls
Models css js utils
README index.html styles
$ git init
Initialized empty Git repository in /Users/[...]/BlackboardCanvas/.git/
$ git add .
$ git remote add origin git@github.com:dchhetri/Demo-s.git
$ git pull git@github.com:dchhetri/Demo-s.git
From github.com:dchhetri/Demo-s
* branch HEAD -> FETCH_HEAD
$ ls
AStarDemo.jar
(Во-первых, чтобы объяснить ситуацию, в которой вы находитесь, у вас уже есть ветвь master
в вашемGitHub репозиторий. В самой последней версии этой ветки есть только один файл с именем AStarDemo.jar
. Причина, по которой ваши попытки протолкнуть ранее потерпели неудачу, заключается в том, что вы пытаетесь перезаписать эту ветку master
вашей локальной веткой.Обычно вы можете выдвинуть коммит в ветку только в том случае, если ваш коммит содержит историю этой ветки. Если вы не «форсируете» толчок, добавив опцию -f
, git не позволит вам сделать это.история терминала, с которой вы связались, причина того, что некоторые из ваших попыток проталкивания не увенчались успехом, заключается в том, что вы пытаетесь git push origin master
до того, как создали какие-либо коммиты - ваш локальный master
еще не существует.)
В разделе команд, которые я цитировал, вы размещаете все файлы в своем каталоге (с помощью git add .
), но не продолжаете их коммитить.Тогда вы, кажется, поражены тем, что мне кажется ошибкой в git - команда git pull <URL>
, когда она выполняется в хранилище без коммитов, похоже, стирает ваш индекс (область подготовки) без предупреждения.Причина, по которой мне это кажется ошибкой, заключается в том, что если вы аналогичным образом организовали и не зафиксировали изменения, но ваш HEAD
действительно указал на коммит, git pull <URL>
потерпит неудачу, заявив, что это приведет к потере вашеголокальные изменения.В этом случае кажется, что вы выбросили ваши подготовленные файлы.(Я могу воспроизвести это с помощью git версии 1.7.5.4.)
Что касается того, что делать сейчас - у вас где-нибудь есть еще одна копия файлов?Если вы этого не сделаете, и вам действительно нужно получить их обратно, вы все равно сможете это сделать, хотя и немного поработав, пока вы не удалили каталог .git
с момента размещения этих файлов.(Как прокомментировали другие люди, в общем, вы никогда не должны удалять каталог .git
, который содержит историю всего вашего проекта.) Вы можете найти некоторые рекомендации по восстановлению этих промежуточных файлов в ответе здесь: