Git Magic. Глава 2. Базовые операции

Ben Lynn, “Git Magic. Chapter 2. Basic Tricks”, public translation into Russian from English More about this translation.

See also 22 similar translations

Translate into another language.

Participants

iBog672 points
mifistor527 points
Natamile182 points
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2 3

Git Magic. Chapter 2. Basic Tricks

Git Magic. Глава 2. Базовые операции

History of edits (Latest: mifistor 2 years, 11 months ago) §

— Уважаемые коллеги, я создал открытый репозиторий gitmacik-ru, куда складываю готовые главы. http://github.com/mifistor/gitmagic-ru Если Вы хотите получить права на запись в репозиторий свяжитесь со мной mifistor@gmail.com mifistor

== Basic Tricks ==

== Базовые операции ==

History of edits (Latest: mifistor 2 years, 11 months ago) §

Rather than diving into a sea of Git commands, use these elementary examples to get your feet wet. Despite their simplicity, each of them are useful.

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

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

— Спасибо, так действительно лучше. mifistor

Indeed, in my first months with Git I never ventured beyond the material in this chapter.

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

=== Saving State ===

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

About to attempt something drastic? Before you do, take a snapshot of all files in the current directory with:

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git init

$ git init

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git add .

$ git add .

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git commit -m "My first backup"

$ git commit -m "Мой первый бекап"

History of edits (Latest: mifistor 2 years, 11 months ago) §

Now if your new edits go awry, run:

Теперь, если ваши новые правки все испортили, запустите:

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git reset --hard

$ git reset --hard

History of edits (Latest: mifistor 2 years, 11 months ago) §

to go back to where you were. To save the state again:

чтобы вернуться к исходному состоянию. Чтобы вновь сохраниться выполните:

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git commit -a -m "Another backup"

$ git commit -a -m "Другой бекап"

History of edits (Latest: mifistor 2 years, 11 months ago) §

==== Add, Delete, Rename ====

==== Добавление, Удаление, Переименование ====

History of edits (Latest: mifistor 2 years, 11 months ago) §

The above will only keep track of the files that were present when you first ran *git add*. If you add new files or subdirectories, you'll have to tell Git:

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git add NEWFILES...

$ git add НОВЫЕ_ФАЙЛЫ...

History of edits (Latest: mifistor 2 years, 11 months ago) §

Similarly, if you want Git to forget about certain files, maybe because you've deleted them:

Аналогично, если вы хотите чтобы Git забыл о некоторых файлах, может быть, потому, что вы удалите их:

Unapproved edits (Latest: mifistor 2 years, 11 months ago) §

$ git rm OLDFILES...

git rm СТАРЫЕ_ФАЙЛЫ...

History of edits (Latest: mifistor 2 years, 11 months ago) §

Renaming a file is the same as removing the old name and adding the new name. There's also the shortcut *git mv* which has the same syntax as the *mv* command. For example:

Переименование файла это то же, что и удаление старого имени и добавления нового. Для этого есть *git mv*, который имеет тот же синтаксис, что и команда *mv*. Например:

History of edits (Latest: Natamile 2 years, 11 months ago) §

$ git mv OLDFILE NEWFILE

$ git mv OLDFILE NEWFILE

History of edits (Latest: mifistor 2 years, 11 months ago) §

=== Advanced Undo/Redo ===

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

Sometimes you just want to go back and forget about every change past a certain point because they're all wrong. Then:

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

History of edits (Latest: Natamile 2 years, 11 months ago) §

$ git log

$ git log

History of edits (Latest: mifistor 2 years, 11 months ago) §

shows you a list of recent commits, and their SHA1 hashes. Next, type:

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git reset --hard SHA1_HASH

$ git reset --hard SHA1_HASH

History of edits (Latest: mifistor 2 years, 11 months ago) §

to restore the state to a given commit and erase all newer commits from the record permanently.

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

History of edits (Latest: iBog 2 years, 11 months ago) §

— Е-мое, и что напереводил, сам не понял... mifistor

— троху перефразировал :) iBog

Other times you want to hop to an old state briefly. In this case, type:

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git checkout SHA1_HASH

$ git checkout SHA1_HASH

History of edits (Latest: mifistor 2 years, 11 months ago) §

This takes you back in time, while preserving newer commits. However, like time travel in a science-fiction movie, if you now edit and commit, you will be in an alternate reality, because your actions are different to what they were the first time around.

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

History of edits (Latest: mifistor 2 years, 11 months ago) §

— не уверена как именно будет правильно - но грамматически 1е предложение означает - либо 1)это действие позволит вернуться назад, к тому моменту, когда были созданы (или сохранены) последующие (как их назвали ранее) коммиты, либо: 2) это действие позволит вернуться назад, в то время, как будут создаваться (или сохраняться) последующие коммиты  Natamile

— В данном случае ведется речь именно о том, что комманда checkout перенесет нас именно в то состояние, которое мы сохранили в отдельную ветвь (бранч).  mifistor

— ну да, я так и говорю) но тут по-другому написано (получается - будет переносить и переносить до тех пор, пока не появятся новые...) или это понятней? Natamile

This alternate reality is called a 'branch', and <<branch,we'll have more to say about this later>>. For now, just remember that

Эта альтернативная реальность называется 'бранч' и
<<мы поговорим об этом больше чуть позже>>. А сейчас просто запомните:

History of edits (Latest: mifistor 2 years, 11 months ago) §

$ git checkout master

$ git checkout master

History of edits (Latest: mifistor 2 years, 11 months ago) §

will take you back to the present. Also, to stop Git complaining, always commit or reset your changes before running checkout.

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

History of edits (Latest: Natamile 2 years, 11 months ago) §

— а можно вместо "жалобы" сказать "сообщения" или "предупреждения" Git? Natamile

— Так лучше? mifistor

— да, стилистически лучше, просто "жалобы" - жаргонизм программеров) а раз книга в таком стиле не переводится, мне кажется, лучше так, нейтральней  Natamile

Pages: ← previous Ctrl next
1 2 3

License: GNU General Public License version 3