diff --git a/book/07-git-tools/sections/advanced-merging.asc b/book/07-git-tools/sections/advanced-merging.asc index 950b29a2..58770aaf 100644 --- a/book/07-git-tools/sections/advanced-merging.asc +++ b/book/07-git-tools/sections/advanced-merging.asc @@ -2,7 +2,7 @@ === Продвинутое слияние Обычно выполнять слияния в Git довольно легко. -Git упрощает повторные слияния с одной и той же веткой, таким образом, позволяя вам иметь очень долго живущую ветку, и вы можете сохранять её всё это время в актуальном состоянии, часто разрешая маленькие конфликты, а не доводить дело до одного большого конфликта по завершению всех изменений. +Git упрощает повторные слияния с одной и той же веткой. Поэтому у вас может присутствовать очень долго живущая ветка, которую можно поддерживать в актуальном состоянии, часто сохраняя её и разрешая при этом маленькие конфликты, а не доводить дело до одного большого конфликта по завершению всех изменений. Однако, иногда всё же будут возникать сложные конфликты. В отличие от других систем управления версиями, Git не пытается быть слишком умным при разрешении конфликтов слияния. @@ -10,11 +10,11 @@ Git упрощает повторные слияния с одной и той Поэтому, если вы слишком долго откладываете слияние двух быстрорастущих веток, вы можете столкнуться с некоторыми проблемами. В этом разделе мы рассмотрим некоторые из возможных проблем и инструменты, которые предоставляет Git, чтобы помочь вам справиться с этими более сложными ситуациями. -Мы также рассмотрим некоторые другие нестандартные типы слияний, которые вы можете выполнять, и вы узнаете как можно откатить уже выполненные слияния. +Мы также рассмотрим некоторые другие нестандартные типы слияний, которые вы можете выполнять, и вы узнаете, как можно откатить уже выполненные слияния. ==== Конфликты слияния -Мы рассказали некоторые основы разрешения конфликтов слияния в <>, для работы с более сложными конфликтами Git предоставляет несколько инструментов, которые помогут вам понять, что произошло и как лучше обойтись с конфликтом. +Мы рассказали некоторые основы разрешения конфликтов слияния в <>. Для работы с более сложными конфликтами Git предоставляет несколько инструментов, которые помогут вам понять, что произошло и как лучше обойтись с конфликтом. Во-первых, если есть возможность, перед слиянием, в котором может возникнуть конфликт, позаботьтесь о том, чтобы ваша рабочая копия была без локальных изменений. Если у вас есть несохранённые наработки, либо припрячьте их, либо сохраните их во временной ветке. @@ -22,7 +22,7 @@ Git упрощает повторные слияния с одной и той Если при выполнении слияния вы не сохраните сделанные изменения, то некоторые из описанных ниже приёмов могут привести к утрате этих наработок. Давайте рассмотрим очень простой пример. -Допустим, у нас есть файл с исходниками на Ruby, выводящими на экран строку 'hello world'. +Допустим, у нас есть файл с исходниками на Ruby, выводящими на экран строку `'hello world'`. [source,ruby] ---- @@ -111,7 +111,7 @@ Automatic merge failed; fix conflicts and then commit the result. ===== Прерывание слияния В данный момент у нас есть несколько вариантов дальнейших действий. -Во-первых, давайте рассмотрим как выйти из этой ситуации. +Во-первых, давайте рассмотрим, как выйти из этой ситуации. Если вы, возможно, не были готовы к конфликтам и на самом деле не хотите связываться с ними, вы можете просто отменить попытку слияния, используя команду `git merge --abort`. [source,console] @@ -161,7 +161,7 @@ Merge made by the 'recursive' strategy. Хотя Git довольно хорошо обрабатывает пробельные символы, с другими типами изменений он не может справиться автоматически, но существуют другие варианты исправления. Например, представим, что Git не умеет обрабатывать изменения пробельных символов и нам нужно сделать это вручную. -То что нам действительно нужно -- это перед выполнением самого слияния прогнать сливаемый файл через программу `dos2unix`. +То, что нам действительно нужно, -- это перед выполнением самого слияния прогнать сливаемый файл через программу `dos2unix`. Как мы будем делать это? Во-первых, мы перейдём в состояние конфликта слияния. @@ -354,8 +354,8 @@ hello() В обеих сливаемых ветках в этот файл было добавлено содержимое, но в некоторых коммитах изменялись одни и те же строки, что и привело к конфликту. -Давайте рассмотрим несколько находящихся в вашем распоряжении инструментов, которые позволяют определить как возник этот конфликт. -Возможно, не понятно как именно вы должны исправить конфликт и вам требуется больше информации. +Давайте рассмотрим несколько находящихся в вашем распоряжении инструментов, которые позволяют определить, как возник этот конфликт. +Возможно, непонятно, как именно вы должны исправить конфликт, и вам требуется больше информации. Полезным в данном случае инструментом является команда `git checkout` с опцией `--conflict`. Она заново выкачает файл и заменит маркеры конфликта.