У меня есть вопрос о новичке о Мерзавце:
Я должен двинуться вперед-назад в истории ответвления. Это означает, я должен получить все файлы к состоянию, в котором они были в некотором старом пересмотре, и затем я должен возвратиться к последнему состоянию в репозитории. Я не должен фиксировать.
С SVN это было бы
svn up -r800
добираться до пересмотра 800, и
svn up
войти в синхронизацию с репозиторием.
Я знаю хеш фиксации, к которой я хочу возвратиться, таким образом, я попробовал
git reset
который, кажется, получает меня там. Но затем я попробовал
git pull
но это жалуется на конфликты.
Таким образом, что надлежащий путь состоит в том, чтобы переместить через историю ответвления?
Я думаю с точки зрения SVN, не смущайтесь указывать на меня на некоторое хорошее учебное руководство. Обратите внимание, что я уже проверил http://git.or.cz/course/svn.html и http://www.youtube.com/watch?v=8dhZ9BXQgc4.
Спасибо, Ondra.
Ну, я тоже бывший пользователь SVN, а теперь используете Git для всех моих проектов.
При использовании GIT вы должны изменить способ мышления от архитектуры клиент-сервер, который используется в SVN. В SVN каждое изменение нуждается в соединении с сервером. Использование GIT, ваше REPO находится в рабочем каталоге. Вам не нужна связь для каждого действия REPO.
Используйте только Git Push
и Git Pull
, чтобы синхронизировать с помощью REPO. Подумайте об этом, как используя rsync или любое резервное решение, чтобы сделать два места именно то же самое. Как вы подключаете внешний резервный жесткий диск, затем сделайте контент в нем же с контентом в вашем основном. Это использование git pull
и Git push
.
Если вы просто хотите вернуться взад и вперед историю, сделайте это, используя его Git Checkout
. Смотрите идентификатор ревизии, используя историю Git
. Если вы используете Linux, используйте Gitk
, чтобы увидеть дерево ревизии. В Windows, черепаха Git может отображать его с помощью ревизионного графа.
Чтобы вернуться к последнему пересмотре, используйте Master Checkout Git
. Прежде чем делать любую команду, всегда делай себя статус Git
. Эта команда отобразит что-нибудь, что нужно знать о текущем состоянии репо, и какое действие, которое вам нужно сделать, чтобы сделать это правильно. Перед тем как сделать GIT тянуть
и GIT толчок
, то лучше, чтобы убедиться, что мерзавец статус
результат содержит текст рабочий каталог чистой
.
Если вам нужно вернуть файл к предыдущей ревизии, вы можете сделать это с помощью Git Merge
. Прежде чем делать это в файл, сначала проверьте его с помощью Git diff
. EX: GIT Diff Rev1: Rev2 Filename
. Он будет распечатан любой другой между двумя ревизиями. Изменение в Rev1 будет заменено изменениями в Rev2. Так что делать возврат, Rev2 будет старше, чем Rev1. После того, как вы удовлетворяете с результатом различий, сделайте это с мерзавца слияния
, просто замените дифф
с слияние
, все остальные параметры остаются неизменными.
Я надеюсь, что это поможет вам. Основной ключ - увидеть, что ваш рабочий режим является вашим репо. Понимание этого поможет вам использовать Git для его полной возможности. Удачи.
Вы можете использовать GIT Checkout
, чтобы оформить заказ любой коммит, а затем использовать его с именем ветви, чтобы вернуться к именованному ветру.
Git Checkout
с идентификатором фиксации, а не именем ветви, отказывается от любой именованной ветви и на то, что известно как отсоединенная головка .
Если вы используете RESET
, то он будет перемещать вашу ветку обратно в старое состояние, сидеть более поздние коммиты, которые, вероятно, не то, что вы хотите.
Для оформления различной версии файла, используйте
git checkout rev -- filename
, где Rev может быть идентификатором фиксатора, название филиала, имя тега или относительная версия.
Используйте журнал Git
, ,
GITK
, чтобы посмотреть, чтобы посмотреть версии, чтобы увидеть, какую версию файла вы хотите.
Чтобы сделать эту версию файла постоянного, вам необходимо совершить файл: GIT Добавить имя файла; GIT Commit Filename
Я бы не рекомендовал Git Pull
для изучения версий, потому что он делает слияние - потенциально модифицировать ваше текущее состояние.
Вам не нужно использовать Git Reset
в этом случае, если только вы Git Add
файл, который вы решаете не совершать.