Git Magic. Уроки истории

Ben Lynn, “Git Magic. Chapter. Lessons of History”, public translation into Russian from English More about this translation.

See also 19 similar translations

Translate into another language.

Participants

goriy1196 points
vlk355 points
mifistor134 points
And others...
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 4 5

Git Magic. Chapter. Lessons of History

Git Magic. Уроки истории

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

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

== Lessons of History ==

== Уроки истории ==

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

A consequence of Git's distributed nature is that history can be edited easily. But if you tamper with the past, take care: only rewrite that part of history which you alone possess. Just as nations forever argue over who committed what atrocity, if someone else has a clone whose version of history differs to yours, you will have trouble reconciling when your trees interact.

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

History of edits (Latest: mr2dark 2 years, 6 months ago) §

Of course, if you control all the other trees too, then there is no problem

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

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

since you can overwrite them.

поскольку вы можете переписать их.

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

Some developers strongly feel history should be immutable, warts and all.

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

History of edits (Latest: mr2dark 2 years, 6 months ago) §

Others feel trees should be made presentable before they are unleashed in

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

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

public. Git accommodates both viewpoints. Like cloning, branching and merging, rewriting history is simply another power Git gives you. It is up to you to use it wisely.

Git учитывает оба мнения. Также как клонирование, ветвление и слияние, переписывание истории - это просто еще одна возможность, которую дает вам Git. Разумное ее использование зависит только от вас.

History of edits (Latest: ivan.borzenkov 2 years, 4 months ago) §

=== I Stand Corrected ===

=== Оставаясь корректным ===

History of edits (Latest: goriy 2 years, 7 months ago) §

Did you just commit, but wish you had typed a different message? Then run:

Только что сделали коммит и уже хотите изменить запись в журнале? Запустите:

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

$ git commit --amend

$ git commit --amend

History of edits (Latest: goriy 2 years, 7 months ago) §

to change the last message. Realized you forgot to add a file? Run *git add* to add it, and then run the above command.

чтобы изменить последнее сообщение коммита. Осознали, что забыли добавить файл? Запустите *git add*, чтобы это сделать и выполните вышеуказанную команду.

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

Want to include a few more edits in that last commit? Then make those edits and run:

Захотелось добавить еще немного изменений в последнюю фиксацию (commit)? Так сделайте их и запустите:

History of edits (Latest: goriy 2 years, 7 months ago) §

$ git commit --amend -a

$ git commit --amend -a

History of edits (Latest: goriy 2 years, 7 months ago) §

=== ... And Then Some ===

=== ...И кое-что еще ===

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

Let's suppose the previous problem is ten times worse. After a lengthy session you've made a bunch of commits. But you're not quite happy with the way they're organized, and some of those commit messages could use rewording. Then type:

Давайте представим себе, что предыдущая проблема на самом деле в десять раз хуже. После длительной работы вы сделали ряд фиксаций, но вы не очень-то довольны тем, как они организованы и кое-какие записи в журнале (commit messages) надо бы слегка переформулировать. В этом случае запустите:

History of edits (Latest: goriy 2 years, 7 months ago) §

$ git rebase -i HEAD~10

$ git rebase -i HEAD~10

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

and the last 10 commits will appear in your favourite $EDITOR. A sample excerpt:

и записи в журнале от последних 10-ти фиксаций появятся в вашем любимом редаторе (задается переменной окружения $EDITOR). Вот кусок примера:

History of edits (Latest: goriy 2 years, 7 months ago) §

pick 5c6eb73 Added repo.or.cz link

pick 5c6eb73 Добавил ссылку repo.or.cz

History of edits (Latest: vlk 2 years, 7 months ago) §

pick a311a64 Reordered analogies in "Work How You Want"

pick a311a64 Сменил порядок в "Работай как хочешь"

History of edits (Latest: vlk 2 years, 7 months ago) §

pick 100834f Added push target to Makefile

pick 100834f Добавил цель для push в Makefile

History of edits (Latest: vlk 2 years, 7 months ago) §

Then:

После чего:

History of edits (Latest: vlk 2 years, 7 months ago) §

- Remove commits by deleting lines.

- Убираем коммиты, удаляя строки.

History of edits (Latest: ivan.borzenkov 2 years, 4 months ago) §

— удалением -> удаляя как в следующем абзаце ivan.borzenkov

- Reorder commits by reordering lines.

- Меняем порядок коммитов, меняя порядок строк.

History of edits (Latest: ivan.borzenkov 2 years, 4 months ago) §

- Replace "pick" with "edit" to mark a commit for amending.

- Заменяем "pick" на "edit", если требуется внести изменения в коммиты.

History of edits (Latest: ivan.borzenkov 2 years, 4 months ago) §

- Replace "pick" with "squash" to merge a commit with the previous one.

- Заменяем "pick" на "squash" для слияния коммита с предыдущим.

History of edits (Latest: vlk 2 years, 7 months ago) §

If you marked a commit for editing, then run:

Если вы отметили коммит для исправлений, запустите:

History of edits (Latest: ivan.borzenkov 2 years, 4 months ago) §

$ git commit --amend

$ git commit --amend

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

Otherwise, run:

Если нет, запустите:

History of edits (Latest: goriy 2 years, 7 months ago) §
Pages: ← previous Ctrl next
1 2 3 4 5

License: GNU General Public License version 3