From a5104de06456ee1271bdd0204378b256febec76f Mon Sep 17 00:00:00 2001 From: Sergey Kuznetsov Date: Sun, 24 Jan 2021 00:07:54 -0800 Subject: [PATCH] =?UTF-8?q?=D0=92=20=D1=80=D1=83=D1=81=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=20=D1=8F=D0=B7=D1=8B=D0=BA=D0=B5=20=D0=BD=D0=B5=D1=82=20?= =?UTF-8?q?=D1=81=D0=BB=D0=BE=D0=B2=D0=B0=20=C2=AB=D1=81=D0=BA=D0=BB=D0=BE?= =?UTF-8?q?=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- book/02-git-basics/sections/remotes.asc | 4 ++-- book/02-git-basics/sections/tagging.asc | 2 +- book/02-git-basics/sections/viewing-history.asc | 6 +++--- book/03-git-branching/sections/rebasing.asc | 2 +- book/03-git-branching/sections/remote-branches.asc | 2 +- book/04-git-server/sections/git-daemon.asc | 2 +- book/05-distributed-git/sections/contributing.asc | 4 ++-- .../05-distributed-git/sections/distributed-workflows.asc | 2 +- book/05-distributed-git/sections/maintaining.asc | 2 +- book/07-git-tools/sections/bundling.asc | 6 +++--- book/07-git-tools/sections/replace.asc | 2 +- book/07-git-tools/sections/submodules.asc | 2 +- book/09-git-and-other-scms/sections/client-bzr.asc | 8 ++++---- book/09-git-and-other-scms/sections/client-svn.asc | 6 +++--- book/09-git-and-other-scms/sections/import-svn.asc | 2 +- book/10-git-internals/sections/maintenance.asc | 2 +- book/A-git-in-other-environments/sections/guis.asc | 6 +++--- 17 files changed, 30 insertions(+), 30 deletions(-) diff --git a/book/02-git-basics/sections/remotes.asc b/book/02-git-basics/sections/remotes.asc index 35f23d9b..3249fb46 100644 --- a/book/02-git-basics/sections/remotes.asc +++ b/book/02-git-basics/sections/remotes.asc @@ -119,7 +119,7 @@ $ git fetch [remote-name] После того как вы выполнили команду, у вас должны появиться ссылки на все ветки из этого удалённого проекта, которые вы можете просмотреть или слить в любой момент. Когда вы клонируете репозиторий, команда `clone` автоматически добавляет этот удалённый репозиторий под именем «origin». -Таким образом, `git fetch origin` извлекает все наработки, отправленные на этот сервер после того, как вы его склонировали (или получили изменения с помощью fetch). +Таким образом, `git fetch origin` извлекает все наработки, отправленные на этот сервер после того, как вы его клонировали (или получили изменения с помощью fetch). Важно отметить, что команда `git fetch` забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент. Вам необходимо вручную слить эти данные с вашими, когда вы будете готовы. @@ -127,7 +127,7 @@ $ git fetch [remote-name] Этот способ может для вас оказаться более простым или более удобным. К тому же, по умолчанию команда `git clone` автоматически настраивает вашу локальную ветку `master` на отслеживание удалённой ветки `master` на сервере, с которого вы клонировали репозиторий. Название веток может быть другим и зависит от ветки по умолчанию на сервере. -Выполнение `git pull`, как правило, извлекает (fetch) данные с сервера, с которого вы изначально склонировали, и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете. +Выполнение `git pull`, как правило, извлекает (fetch) данные с сервера, с которого вы изначально клонировали, и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете. [NOTE] ==== diff --git a/book/02-git-basics/sections/tagging.asc b/book/02-git-basics/sections/tagging.asc index e8c3aa01..94bb8b7c 100644 --- a/book/02-git-basics/sections/tagging.asc +++ b/book/02-git-basics/sections/tagging.asc @@ -216,7 +216,7 @@ To git@github.com:schacon/simplegit.git * [new tag] v1.4-lw -> v1.4-lw ---- -Теперь, если кто-то склонирует (clone) или выполнит `git pull` из вашего репозитория, то он получит вдобавок к остальному и ваши метки. +Теперь, если кто-то клонирует (clone) или выполнит `git pull` из вашего репозитория, то он получит вдобавок к остальному и ваши метки. [NOTE] .`git push` отправляет оба типа тегов diff --git a/book/02-git-basics/sections/viewing-history.asc b/book/02-git-basics/sections/viewing-history.asc index 5d01d5c2..a37a2c2f 100644 --- a/book/02-git-basics/sections/viewing-history.asc +++ b/book/02-git-basics/sections/viewing-history.asc @@ -1,18 +1,18 @@ [[r_viewing_history]] === Просмотр истории коммитов -После того, как вы создали несколько коммитов или же склонировали репозиторий с уже существующей историей коммитов, вероятно вам понадобится возможность посмотреть что было сделано – историю коммитов. +После того, как вы создали несколько коммитов или же клонировали репозиторий с уже существующей историей коммитов, вероятно вам понадобится возможность посмотреть что было сделано – историю коммитов. Одним из основных и наиболее мощных инструментов для этого является команда `git log`. Следующие несколько примеров используют очень простой проект «simplegit». -Чтобы склонировать проект, используйте команду: +Чтобы клонировать проект, используйте команду: [source,console] ---- git clone https://github.com/schacon/simplegit-progit ---- -Если вы запустите команду `git log` в папке склонированного проекта, вы увидите следующий вывод:(((git commands, log))) +Если вы запустите команду `git log` в папке клонированного проекта, вы увидите следующий вывод:(((git commands, log))) [source,console] ---- diff --git a/book/03-git-branching/sections/rebasing.asc b/book/03-git-branching/sections/rebasing.asc index 2e612aee..9d804558 100644 --- a/book/03-git-branching/sections/rebasing.asc +++ b/book/03-git-branching/sections/rebasing.asc @@ -148,7 +148,7 @@ image::images/interesting-rebase-5.png["Окончательная истори В итоге, когда вы в очередной раз попытаетесь включить их работу в свою, вы получите путаницу. Давайте рассмотрим пример того, как перемещение публично доступных наработок может вызвать проблемы. -Предположим, вы склонировали репозиторий с сервера и сделали какую-то работу. +Предположим, вы клонировали репозиторий с сервера и сделали какую-то работу. И ваша история коммитов выглядит так: .Клонирование репозитория и выполнение в нём какой-то работы diff --git a/book/03-git-branching/sections/remote-branches.asc b/book/03-git-branching/sections/remote-branches.asc index f6522985..d98dc754 100644 --- a/book/03-git-branching/sections/remote-branches.asc +++ b/book/03-git-branching/sections/remote-branches.asc @@ -16,7 +16,7 @@ Возможно, всё это сбивает с толку, поэтому давайте рассмотрим на примере. Скажем, у вас в сети есть свой Git-сервер с адресом `git.ourcompany.com`. -Если вы с него что-то склонируете, команда `clone` автоматически назовёт его `origin`, заберёт оттуда все данные, создаст указатель на то, на что там указывает ветка `master`, и назовёт его локально `origin/master`. +Если вы с него что-то клонируете, команда `clone` автоматически назовёт его `origin`, заберёт оттуда все данные, создаст указатель на то, на что там указывает ветка `master`, и назовёт его локально `origin/master`. Git также создаст вам локальную ветку `master`, которая будет начинаться там же, где и ветка `master` в `origin`, так что вам будет с чего начать. [NOTE] diff --git a/book/04-git-server/sections/git-daemon.asc b/book/04-git-server/sections/git-daemon.asc index 5f924a74..cb044e84 100644 --- a/book/04-git-server/sections/git-daemon.asc +++ b/book/04-git-server/sections/git-daemon.asc @@ -16,7 +16,7 @@ $ git daemon --reuseaddr --base-path=/srv/git/ /srv/git/ ---- -Опция `--reuseaddr` позволит серверу перезапуститься без ожидания таймаута существующих подключений, `--base-path` позволит людям не указывать полный путь, чтобы склонировать проект, а путь в конце указывает демону Git где искать экспортируемые репозитории. +Опция `--reuseaddr` позволит серверу перезапуститься без ожидания таймаута существующих подключений, `--base-path` позволит людям не указывать полный путь, чтобы клонировать проект, а путь в конце указывает демону Git где искать экспортируемые репозитории. Если у вас запущен сетевой экран, вы должны проколоть в нём дырочку, открыв порт 9418 на машине, где всё это запущено. Вы можете демонизировать этот процесс несколькими путями, в зависимости от операционной системы. diff --git a/book/05-distributed-git/sections/contributing.asc b/book/05-distributed-git/sections/contributing.asc index f8d28e81..c109995e 100644 --- a/book/05-distributed-git/sections/contributing.asc +++ b/book/05-distributed-git/sections/contributing.asc @@ -333,7 +333,7 @@ image::images/small-team-flow.png["Общий вид последователь При таком сценарии вся работа ведётся в отдельных ветках для каждой команды, а затем объединяется интегратором. Давайте рассмотрим рабочий процесс Джессики, так как она работает над двумя функциями, параллельно сотрудничая с разными разработчиками. -Предположим, что репозиторий уже склонирован и она решает работать сначала над функцией `featureA`. +Предположим, что репозиторий уже клонирован и она решает работать сначала над функцией `featureA`. Джессика создаёт новую ветку для этой функции и некоторое время работает над ней: [source,console] @@ -504,7 +504,7 @@ image::images/managed-team-flow.png["Основная последователь Большинство сайтов Git хостинга поддерживают такую функцию (включая GitHub, BitBucket, repo.or.cz и другие), как и большинство тех, кто сопровождает проекты, ожидают такого же стиля участия. Следующий раздел посвящен проектам, которые предпочитают принимать исправления в виде патчей по электронной почте. -Для начала, вам следует склонировать основной репозиторий, создать тематическую ветку для одного или нескольких патчей и работать в ней. +Для начала, вам следует клонировать основной репозиторий, создать тематическую ветку для одного или нескольких патчей и работать в ней. Обычно, последовательность действий выглядит так: [source,console] diff --git a/book/05-distributed-git/sections/distributed-workflows.asc b/book/05-distributed-git/sections/distributed-workflows.asc index 42d6c510..d0c26e76 100644 --- a/book/05-distributed-git/sections/distributed-workflows.asc +++ b/book/05-distributed-git/sections/distributed-workflows.asc @@ -17,7 +17,7 @@ .Централизованный рабочий процесс image::images/centralized_workflow.png["Централизованный рабочий процесс"] -Это означает, что если два разработчика склонируют репозиторий и каждый внесёт изменения, то первый из них сможет отправить свои изменения в репозиторий без проблем. +Это означает, что если два разработчика клонируют репозиторий и каждый внесёт изменения, то первый из них сможет отправить свои изменения в репозиторий без проблем. Второй разработчик должен слить изменения, сделанные первым разработчиком, чтобы избежать их перезаписи во время отправки на сервер. Эта концепция верна как для Git, так и для Subversion(((Subversion))) (или любой ЦСКВ), и прекрасно работает в Git. diff --git a/book/05-distributed-git/sections/maintaining.asc b/book/05-distributed-git/sections/maintaining.asc index 5d14476b..660d329a 100644 --- a/book/05-distributed-git/sections/maintaining.asc +++ b/book/05-distributed-git/sections/maintaining.asc @@ -494,7 +494,7 @@ v1.6.2-rc1-20-g8c5b85c ---- Таким образом, вы можете сделать снимок или собрать сборку и дать ей понятное для человека название. -К слову, если вы склонируете репозиторий Git и соберете его из исходного кода, то вывод команды `git --version` будет примерно таким же. +К слову, если вы клонируете репозиторий Git и соберете его из исходного кода, то вывод команды `git --version` будет примерно таким же. Если попытаться получить имя коммита, которому назначен тег, то результатом будет название самого тега. По умолчанию, команда `git describe` поддерживает только аннотированные теги (созданные с использованием опций `-a` или `-s`); если вы хотите использовать легковесные (не аннотированные) метки, то укажите команде параметр `--tags`. diff --git a/book/07-git-tools/sections/bundling.asc b/book/07-git-tools/sections/bundling.asc index fd9ca9f3..cc5a3ea8 100644 --- a/book/07-git-tools/sections/bundling.asc +++ b/book/07-git-tools/sections/bundling.asc @@ -46,12 +46,12 @@ Total 6 (delta 0), reused 0 (delta 0) В результате вы получили файл `repo.bundle`, в котором содержатся все данные, необходимые для воссоздания ветки `master` репозитория. Команде `bundle` необходимо передать список или диапазон коммитов, которые вы хотите добавить в пакет. -Если вы намереваетесь использовать пакет для того, чтобы склонировать репозиторий где-нибудь ещё, вы должны добавить в этот список HEAD, как это сделали мы. +Если вы намереваетесь использовать пакет для того, чтобы клонировать репозиторий где-нибудь ещё, вы должны добавить в этот список HEAD, как это сделали мы. Вы можете отправить файл `repo.bundle` кому-нибудь по электронной почте или скопировать его на USB-диск, тем самым легко решив исходную проблему. С другой стороны, допустим, вы получили файл `repo.bundle` и хотите поработать над этим проектом. -Вы можете склонировать репозиторий из бинарного файла в каталог, почти также как вы делаете это при использовании URL. +Вы можете клонировать репозиторий из бинарного файла в каталог, почти также как вы делаете это при использовании URL. [source,console] ---- @@ -83,7 +83,7 @@ b1ec324 first commit Для того, чтобы сделать это, вы должны вычислить различия. Как мы рассказывали в <>, вы можете указать диапазон коммитов несколькими способами. -Для того, чтобы получить три коммита из нашей основной ветки, которые отсутствовали в изначально склонированной ветке, мы можем использовать запись вида `origin/master..master` или `master ^origin/master`. +Для того, чтобы получить три коммита из нашей основной ветки, которые отсутствовали в изначально клонированной ветке, мы можем использовать запись вида `origin/master..master` или `master ^origin/master`. Вы можете проверить ее с помощью команды `log`. [source,console] diff --git a/book/07-git-tools/sections/replace.asc b/book/07-git-tools/sections/replace.asc index dcd874d2..c14a3758 100644 --- a/book/07-git-tools/sections/replace.asc +++ b/book/07-git-tools/sections/replace.asc @@ -114,7 +114,7 @@ image::images/replace4.png[] Таким образом, мы переписали нашу свежую историю поверх вспомогательного базового коммита, который теперь содержит инструкции о том, как при необходимости восстановить полную историю. Мы можем отправить эту историю в новый проект и теперь, когда люди клонируют его репозиторий, они будут видеть только два свежих коммита и после них базовый коммит с инструкциями. -Давайте представим себя на месте кого-то, кто впервые склонировал проект и хочет получить полную историю. +Давайте представим себя на месте кого-то, кто впервые клонировал проект и хочет получить полную историю. Для получения исторических данных после клонирования усечённого репозитория, ему нужно добавить в список удалённых репозиториев исторический репозиторий и извлечь из него данные: [source,console] diff --git a/book/07-git-tools/sections/submodules.asc b/book/07-git-tools/sections/submodules.asc index 95ffcb1f..d73409f7 100644 --- a/book/07-git-tools/sections/submodules.asc +++ b/book/07-git-tools/sections/submodules.asc @@ -14,7 +14,7 @@ Git решает эту проблему, предоставляя функциональность подмодулей. Подмодули позволяют вам сохранить один Git-репозиторий, как поддиректорию другого Git-репозитория. -Это даёт вам возможность склонировать в ваш проект другой репозиторий, но коммиты при этом хранить отдельно. +Это даёт вам возможность клонировать в ваш проект другой репозиторий, но коммиты при этом хранить отдельно. [[r_starting_submodules]] ==== Начало работы с подмодулями diff --git a/book/09-git-and-other-scms/sections/client-bzr.asc b/book/09-git-and-other-scms/sections/client-bzr.asc index c7b504a3..5f70ae0c 100644 --- a/book/09-git-and-other-scms/sections/client-bzr.asc +++ b/book/09-git-and-other-scms/sections/client-bzr.asc @@ -22,12 +22,12 @@ $ chmod +x ~/bin/git-remote-bzr ===== Создание репозитория Git из репозитория Bazaar Им просто пользоваться. -Чтобы склонировать Bazaar репозиторий достаточно добавить префикс `bzr::`. +Чтобы клонировать Bazaar репозиторий достаточно добавить префикс `bzr::`. Так как Git и Bazaar полностью клонируют репозиторий на ваш компьютер, то можно добавить клон Git к локальному клону Bazaar, но так делать не рекомендуется. Гораздо проще связать клон Git с центральным хранилищем -- тем же местом, с которым связан клон Bazaar. Предположим, что вы работали с удалённым репозиторием, находящимся по адресу `bzr+ssh://developer@mybazaarserver:myproject`. -Чтобы его склонировать, нужно выполнить следующие команды: +Чтобы его клонировать, нужно выполнить следующие команды: [source,console] ---- @@ -46,13 +46,13 @@ $ git gc --aggressive ===== Ветки в Bazaar Bazaar позволяет клонировать только ветки, при этом репозиторий может содержать их несколько, а `git-remote-bzr` может клонировать все. -Например, чтобы склонировать ветку выполните: +Например, чтобы клонировать ветку выполните: [source,console] ---- $ git clone bzr::bzr://bzr.savannah.gnu.org/emacs/trunk emacs-trunk ---- -Чтобы склонировать весь репозиторий, выполните команду: +Чтобы клонировать весь репозиторий, выполните команду: [source,console] ---- diff --git a/book/09-git-and-other-scms/sections/client-svn.asc b/book/09-git-and-other-scms/sections/client-svn.asc index 62fd8683..fdc0b9de 100644 --- a/book/09-git-and-other-scms/sections/client-svn.asc +++ b/book/09-git-and-other-scms/sections/client-svn.asc @@ -61,7 +61,7 @@ $ svnsync init file:///tmp/test-svn \ ---- Наконец (SVN вам ещё не надоел?), можно запустить саму синхронизацию. -Затем можно будет склонировать собственно код, выполнив: +Затем можно будет клонировать собственно код, выполнив: [source,console] ---- @@ -80,7 +80,7 @@ Subversion копирует данные последовательно, ска ===== Начало работы Теперь, когда у вас есть Subversion репозиторий с правами на запись, можно опробовать типичные приёмы работы с ним через `git svn` -Начнём с команды `git svn clone`, которая склонирует Subversion репозиторий целиком в локальный Git репозиторий. +Начнём с команды `git svn clone`, которая клонирует Subversion репозиторий целиком в локальный Git репозиторий. Разумеется, при переносе реального Subversion репозитория нужно будет заменить `\file:///tmp/test-svn` на настоящий URL: [source,console] @@ -333,7 +333,7 @@ Resetting to the latest refs/remotes/origin/trunk Выполнение команды `dcommit` на ветке с уже слитой историй пройдёт успешно, за исключением того момента, что при просмотре истории вы заметите, что коммита из ветки `experiment` не были переписаны один за другим; вместо этого они схлопнулись в один коммит слияния. -Когда кто-нибудь склонирует этот репозиторий, всё что он увидит -- единственное слияние, в котором собраны все изменения, словно вы выполнили `git merge --squash`; они не увидят кто и когда производил коммиты. +Когда кто-нибудь клонирует этот репозиторий, всё что он увидит -- единственное слияние, в котором собраны все изменения, словно вы выполнили `git merge --squash`; они не увидят кто и когда производил коммиты. ===== Subversion-ветвление diff --git a/book/09-git-and-other-scms/sections/import-svn.asc b/book/09-git-and-other-scms/sections/import-svn.asc index d6611524..c475a7ee 100644 --- a/book/09-git-and-other-scms/sections/import-svn.asc +++ b/book/09-git-and-other-scms/sections/import-svn.asc @@ -2,7 +2,7 @@ (((Subversion))) (((Importing, from Subversion))) -Если вы читали предыдущий раздел про использование `git svn`, вы уже должны знать, как использовать команду `git svn clone` чтобы склонировать Subversion репозиторий. +Если вы читали предыдущий раздел про использование `git svn`, вы уже должны знать, как использовать команду `git svn clone` чтобы клонировать Subversion репозиторий. После этого вы можете прекратить использовать Subversion и перейти на Git. Сразу же после клонирования вам будет доступна вся история репозитория, хотя сам процесс получения копии может затянуться. diff --git a/book/10-git-internals/sections/maintenance.asc b/book/10-git-internals/sections/maintenance.asc index 9aecc2c5..20f30591 100644 --- a/book/10-git-internals/sections/maintenance.asc +++ b/book/10-git-internals/sections/maintenance.asc @@ -242,7 +242,7 @@ size-garbage: 0 Строка `size-pack` -- это размер pack-файлов в килобайтах, то есть всего занято почти 5 MБ. Перед последним коммитом использовалось около 2 КБ -- очевидно, удаление файла не удалило его из истории. -Всякий раз, когда кто-либо захочет склонировать этот репозиторий, ему придётся скачивать все 5 МБ для того, чтобы заполучить этот крошечный проект, просто потому, что однажды вы имели неосторожность добавить большой файл. +Всякий раз, когда кто-либо захочет клонировать этот репозиторий, ему придётся скачивать все 5 МБ для того, чтобы заполучить этот крошечный проект, просто потому, что однажды вы имели неосторожность добавить большой файл. Давайте же исправим это! Для начала найдём проблемный файл. diff --git a/book/A-git-in-other-environments/sections/guis.asc b/book/A-git-in-other-environments/sections/guis.asc index 8b70244a..f8f8d86d 100644 --- a/book/A-git-in-other-environments/sections/guis.asc +++ b/book/A-git-in-other-environments/sections/guis.asc @@ -82,7 +82,7 @@ image::images/github_win.png["GitHub для Windows"] Они спроектированы по одному шаблону, поэтому мы будет рассматривать их как один продукт в этой главе. Мы не будем разбирать по косточкам эти инструменты (в конце-концов у них есть документация), а лишь быстренько взглянем на экран изменений (место, где вы будете зависать больше всего). -* Слева расположен список отслеживаемых репозиториев; можно добавить репозиторий (склонировав его, либо указав путь к существующей копии) нажатием кнопки `+` над списком. +* Слева расположен список отслеживаемых репозиториев; можно добавить репозиторий (клонировав его, либо указав путь к существующей копии) нажатием кнопки `+` над списком. * В центре экрана расположена область редактирования коммита: тут можно ввести сообщение коммита и выбрать файлы для включение в него. (На Windows, история коммитов расположена под этой областью, на Mac это отдельная вкладка.) * Справа -- просмотр изменений: что изменилось в рабочей директории, какие изменения войдут в коммит. @@ -104,8 +104,8 @@ GitHub для Windows можно скачать на https://windows.github.com[ На Windows вы также получаете ярлык для запуска PowerShell с Posh-git, который мы рассмотрим далее в этой главе. Следующий шаг -- скормить программе парочку репозиториев для работы. -Клиент для GitHub показывает список репозиториев, доступных вам на GitHub, и вы можете склонировать любой в один клик. -Если же у вас уже есть склонированный репозиторий, просто перетяните его из окна Finder (или Windows Explorer) в окно клиента GitHub, и он будет включён в список репозиториев слева. +Клиент для GitHub показывает список репозиториев, доступных вам на GitHub, и вы можете клонировать любой в один клик. +Если же у вас уже есть клонированный репозиторий, просто перетяните его из окна Finder (или Windows Explorer) в окно клиента GitHub, и он будет включён в список репозиториев слева. ===== Рекомендуемый рабочий процесс