Извлечение определенной версии GIT в мой локальный репозиторий - PullRequest
2 голосов
/ 30 марта 2011

Начну с того, что я использую в основном SVN, и наш проект недавно перешел на Git.Я понимаю, что я не очень понимаю принципы GIT.

Мой вопрос практичен:

У нас есть репозиторий GIT, размещенный в центральном месте (Beanstalk), и все мы толкаем туда-сюда.
Теперь мой локальный репо сломался,и мне нужно воссоздать его.Но не последняя ревизия, а конкретная в прошлом (bc213be6, просто пример).

Как мне это сделать?
Я бы клонировал центральное хранилище, но, как я сказал выше,Мне нужна последняя версия.

Спасибо

Джиди

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

Клонирование даст вам полную историю. Затем вы можете выбрать любую ревизию, которую хотите видеть в своем рабочем дереве.

Вместо сброса я бы сделал git checkout вправо (например, 'bc213be6', или правый тег, если он есть):

git clone git://git.myserver.org/myrepo.git
cd myrepo
git checkout <sha1>

Но если вы хотите внести какие-либо изменения, создайте локальную ветвь:

git checkout -b myBranch <sha1>

Если вы этого не сделаете, вы окажетесь в ОТКЛЮЧЕННОЙ ГОЛОВЕ .

Обратите внимание, что у вас есть множество способов указать ревизию, как описано в git rev-parse.

2 голосов
/ 30 марта 2011

Сначала сделайте git clone. Затем используйте git reset, чтобы переместить HEAD в нужный коммит.

Вот ссылка на руководство по git для сброса: http://git -scm.com / docs / git-reset

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...