Skip to content

Commit

Permalink
first half of ru/basic.txt edited
Browse files Browse the repository at this point in the history
  • Loading branch information
t-t committed Jul 12, 2010
1 parent e5ae6a3 commit 1fd7816
Showing 1 changed file with 21 additions and 21 deletions.
42 changes: 21 additions & 21 deletions ru/basic.txt
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
== Базовые операции ==

Прежде чем погружаться в дебри многочисленных команд Git, попробуйте воспользоваться приведёнными ниже простыми примерами, чтобы немного освоиться. Несмотря на свою простоту, каждый из них является полезным. На самом деле, первые месяцы использования Git я не выходил за рамки материала, изложенного в этой главе.
Прежде чем погружаться в дебри многочисленных команд Git, попробуйте воспользоваться приведёнными ниже простыми примерами, чтобы немного освоиться. Каждый из них полезен, несмотря на свою простоту. Действительно: первые месяцы использования Git я не выходил за рамки материала этой главы.

=== Сохранение состояния ===

Выполняете опасную операцию? Прежде чем сделать это, создайте снимок всех файлов в текущем каталоге с помощью команд:
Собираетесь попробовать внести некие радикальные изменения? Предварительно создайте снимок всех файлов в текущем каталоге с помощью команд

$ git init
$ git add .
$ git commit -m "Моя первая резервная копия"

Теперь, если ваши новые правки всё испортили, восстановите первоначальную версию:
Теперь, если ваши новые правки всё испортили, вы сможете восстановить первоначальную версию:

$ git reset --hard

Чтобы вновь сохраниться, выполните:
Чтобы вновь сохранить состояние:

$ git commit -a -m "Другая резервная копия"

=== Добавление, удаление, переименование ===

Приведенный выше пример отслеживает только те файлы, которые существовали при первом запуске *git add*. Если хотите добавить новые файлы или подкаталоги, вам придётся сказать Git:
Приведенный выше пример отслеживает только те файлы, которые существовали при первом запуске *git add*. Если вы создали новые файлы или подкаталоги, вам придётся сказать Git:

$ git add readme.txt Documentation

@@ -35,65 +35,65 @@ Git удалит эти файлы для вас, если вы не удали

$ git mv bug.c feature.c

=== Расширенная отмена/восстановление ===
=== Расширенные отмена/возврат ===

Иногда вы просто хотите вернуться к определенной точке и забыть все изменения, потому что все они были неправильными. В таком случае
Иногда вы просто хотите вернуться назад и забыть все изменения до определенного момента, потому что все они были неправильными. В таком случае

$ git log

покажет вам список последних изменений (коммитов, прим. пер.) и их SHA1 хеши:
покажет вам список последних коммитов и их SHA1 хеши:

----------------------------------
commit 766f9881690d240ba334153047649b8b8f11c664
Author: Bob <bob@example.com>
Date: Tue Mar 14 01:59:26 2000 -0800

Replace printf() with write().
Заменил printf() на write().

commit 82f5ea346a2e651544956a8653c0f58dc151275c
Author: Alice <alice@example.com>
Date: Thu Jan 1 00:00:00 1970 +0000

Initial commit.
Начальный коммит.
----------------------------------

Для указания конкретного коммита достаточно первых нескольких символов его хеша, но вы можете скопировать и весь хеш. Наберите:
Для указания коммита достаточно первых нескольких символов его хеша, но вы можете скопировать и весь хеш. Наберите:

$ git reset --hard 766f

для восстановления состояния до указанного коммита и удаления всех последующих безвозвратно.

Возможно, в другой раз вы захотите быстро вернуться к старому состоянию. В этом случае наберите:
Возможно, в другой раз вы захотите быстро перескочить к старому состоянию. В этом случае наберите

$ git checkout 82f5

Это перенесет вас назад во времени, сохранив при этом более новые коммиты. Как и в фантастических фильмах о путешествиях во времени, если вы теперь отредактируете и закоммитите код, вы будете находиться в альтернативной реальности, потому что ваши действия отличаются от тех, что вы делали до этого.
Это перенесет вас назад во времени, сохранив при этом более новые коммиты. Однако, как и в фантастических фильмах о путешествиях во времени, если вы теперь отредактируете и закоммитите код, вы будете находиться в альтернативной реальности, потому что ваши действия отличаются от тех, что вы делали в прошлый раз.

Эта альтернативная реальность называется «ветвь» (branch, прим. пер.), и <<branch,чуть позже мы поговорим об этом>>. А сейчас просто запомните, что команда
Эта альтернативная реальность называется «веткой» (branch, прим. пер.), и <<branch,чуть позже мы поговорим об этом подробнее>>. А сейчас просто запомните, что команда

$ git checkout master

вернёт вас обратно в настоящее. Кроме того, чтобы не получать предупреждений от Git, всегда делайте commit или сбрасывайте изменения перед запуском checkout.

Ещё раз воспользуемся терминологией компьютерных игр:
Ещё раз воспользуемся аналогией с компьютерными играми:

- *`git reset --hard`*: загружает ранее сохраненную игру и удаляет все версии, сохраненные после только что загруженной.
- *git reset --hard*: загружает ранее сохраненную игру и удаляет все версии, сохраненные после только что загруженной.

- *`git checkout`*: загружает старую игру, но если вы продолжаете играть, состояние игры будет отличаться от более новых сохранений, которые вы сделали в первый раз. Любая игра, которую вы теперь сохраняете, попадает в отдельную ветвь, представляющую альтенативную реальность, в которую вы попали. <<branch,Как мы договорились, о ветках поговорим позже>>.
- *git checkout*: загружает старую игру, но если вы продолжаете играть, состояние игры будет отличаться от более новых сохранений, которые вы сделали в первый раз. Любая игра, которую вы теперь сохраняете, попадает в отдельную ветвь, представляющую альтенативную реальность, в которую вы попали. <<branch,Мы обсудим это позже>>.

Вы можете выбрать для восстановления только определенные файлы и подкаталоги, перечислив их имена после команды:
Можно также восстановить только определённые файлы и подкаталоги, перечислив их имена после команды:

$ git checkout 82f5 какой-то.файл другой.файл

Будьте внимательны: такая форма *checkout* может незаметно перезаписать файлы. Чтобы избежать неприятных неожиданностей, выполняйте commit перед checkout, особенно если вы только изучаете Git. Вообще, если вы не уверены в какой-либо операции, будь то команда Git или нет, прежде выполните *git commit -a*.
Будьте внимательны: такая форма *checkout* может молча перезаписать файлы. Чтобы избежать неприятных неожиданностей, выполняйте commit перед checkout, особенно если вы только изучаете Git. Вообще, если вы не уверены в какой-либо операции, будь то команда Git или нет, выполните предварительно *git commit -a*.

Не любите копировать и вставлять хеши? Используйте

$ git checkout :/"Моя первая р"

для перехода на коммит, чьё описание начинается с приведенной строки.
для перехода на коммит, чьё описание начинается с приведённой строки.

Можно также запросить 5-ое с конца сохраненное состояние:
Можно также запросить 5-ое с конца сохранённое состояние:

$ git checkout master~5

0 comments on commit 1fd7816

Please sign in to comment.