diff --git a/README.asc b/README.asc index ecaf4bc5..a09c798b 100644 --- a/README.asc +++ b/README.asc @@ -1,5 +1,3 @@ -image:https://travis-ci.org/progit/progit2-ru.svg?branch=master["Build Status", link="https://travis-ci.org/progit/progit2-ru"] - = Pro Git, второе издание Добро пожаловать во второе издание книги Pro Git diff --git a/TRANSLATION_NOTES.asc b/TRANSLATION_NOTES.asc index 7e857cdc..3a46d293 100644 --- a/TRANSLATION_NOTES.asc +++ b/TRANSLATION_NOTES.asc @@ -45,7 +45,7 @@ Если очень хочется: интерфейс. === Tag → тег -Согласно https://github.com/web-standards-ru/dictionary/blob/master/dictionary.md#tag +Согласно https://github.com/web-standards/dictionary/blob/main/dictionary.md#tag === Directory → Каталог Слово «директория» -- это транслитерация английского слова directory, которое в русскоязычной документации (и литературе) в отношении хранения данных на блочных устройствах переводится как «каталог». diff --git a/book/01-introduction/sections/installing.asc b/book/01-introduction/sections/installing.asc index 44e6a5ef..e12c5abf 100644 --- a/book/01-introduction/sections/installing.asc +++ b/book/01-introduction/sections/installing.asc @@ -113,7 +113,7 @@ $ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi ---- Когда все необходимые зависимости установлены, вы можете пойти дальше и скачать самый свежий архив с исходниками из следующих мест: -с сайта Kernel.org https://www.kernel.org/pub/software/scm/git[^], или зеркала на сайте GitHub https://github.com/git/git/releases[^]. +с сайта Kernel.org https://www.kernel.org/pub/software/scm/git[^], или зеркала на сайте GitHub https://github.com/git/git/tags[^]. Конечно, немного проще скачать последнюю версию с сайта GitHub, но на странице kernel.org релизы имеют подписи, если вы хотите проверить, что скачиваете. Затем скомпилируйте и установите: @@ -132,5 +132,5 @@ $ sudo make install install-doc install-html install-info [source,console] ---- -$ git clone git://git.kernel.org/pub/scm/git/git.git +$ git clone https://git.kernel.org/pub/scm/git/git.git ---- diff --git a/book/02-git-basics/sections/viewing-history.asc b/book/02-git-basics/sections/viewing-history.asc index 82ad4d95..a0521d84 100644 --- a/book/02-git-basics/sections/viewing-history.asc +++ b/book/02-git-basics/sections/viewing-history.asc @@ -191,7 +191,7 @@ a11bef0 - Scott Chacon, 6 years ago : Initial commit ---- $ git log --pretty=format:"%h %s" --graph * 2d3acf9 Ignore errors from SIGCHLD on trap -* 5e3ee11 Merge branch 'master' of git://github.com/dustin/grit +* 5e3ee11 Merge branch 'master' of https://github.com/dustin/grit.git |\ | * 420eac9 Add method for getting the current branch * | 30e367c Timeout code and tests diff --git a/book/04-git-server/sections/gitweb.asc b/book/04-git-server/sections/gitweb.asc index 90d28ee3..6e23e82d 100644 --- a/book/04-git-server/sections/gitweb.asc +++ b/book/04-git-server/sections/gitweb.asc @@ -36,7 +36,7 @@ $ git instaweb --httpd=webrick --stop [source,console] ---- -$ git clone git://git.kernel.org/pub/scm/git/git.git +$ git clone https://git.kernel.org/pub/scm/git/git.git $ cd git/ $ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb SUBDIR gitweb diff --git a/book/04-git-server/sections/hosted.asc b/book/04-git-server/sections/hosted.asc index 5a57b05f..1fa04be4 100644 --- a/book/04-git-server/sections/hosted.asc +++ b/book/04-git-server/sections/hosted.asc @@ -5,6 +5,6 @@ Даже если вы установили и запустили свой собственный внутренний сервер, возможно, вы захотите использовать сайт на публичном хостинге для ваших проектов с открытым кодом -- так сообществу будет проще вас найти и помочь. В наши дни у вас есть огромный выбор вариантов хостинга, каждый из которых имеет свои преимущества и недостатки. -Актуальный список приведён в главной вики Git на странице GitHosting: https://git.wiki.kernel.org/index.php/GitHosting[^] +Актуальный список приведён в главной вики Git на странице GitHosting: https://archive.kernel.org/oldwiki/git.wiki.kernel.org/index.php/GitHosting.html[^] Мы детально рассмотрим GitHub в главе <>, так как это крупнейший Git-хостинг и вам скорее всего понадобится взаимодействовать с проектами, хостящимися на нём; при этом существуют десятки других, что делает необязательным использование собственного сервера. diff --git a/book/05-distributed-git/sections/contributing.asc b/book/05-distributed-git/sections/contributing.asc index 52f6fafc..eb21b481 100644 --- a/book/05-distributed-git/sections/contributing.asc +++ b/book/05-distributed-git/sections/contributing.asc @@ -563,7 +563,7 @@ Jessica Smith (1): are available in the git repository at: - git://githost/simplegit.git featureA + https://githost/simplegit.git featureA Jessica Smith (2): Add limit to log function diff --git a/book/05-distributed-git/sections/maintaining.asc b/book/05-distributed-git/sections/maintaining.asc index 5ee2dd48..4369025c 100644 --- a/book/05-distributed-git/sections/maintaining.asc +++ b/book/05-distributed-git/sections/maintaining.asc @@ -192,7 +192,7 @@ Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all [source,console] ---- -$ git remote add jessica git://github.com/jessica/myproject.git +$ git remote add jessica https://github.com/jessica/myproject.git $ git fetch jessica $ git checkout -b rubyclient jessica/ruby-client ---- @@ -364,7 +364,7 @@ image::images/large-merges-2.png["Слияние тематических вет Репозиторий также содержит ветку `maint`, которая ответвляется от последнего релиза для предоставления патчей, если требуется поддержка обратной совместимости. Таким образом, после клонирования проекта у вас будет четыре ветки, дающие возможность перейти на разные стадии его разработки, в зависимости от того, на сколько передовым вы хотите быть или как вы собираетесь участвовать в проекте; вместе с этим, рабочий процесс структурирован, что помогает сопровождающему проекта проверять поступающий код. Рабочий процесс проекта Git специфицирован. -Для полного понимания процесса обратитесь к https://github.com/git/git/blob/master/Documentation/howto/maintain-git.txt[Git Maintainer's guide^]. +Для полного понимания процесса обратитесь к https://github.com/git/git/blob/master/Documentation/howto/maintain-git.adoc[Git Maintainer's guide^]. [[r_rebase_cherry_pick]] ===== Схема с перебазированием и отбором diff --git a/book/06-github/sections/5-scripting.asc b/book/06-github/sections/5-scripting.asc index 7f78222c..e369fec5 100644 --- a/book/06-github/sections/5-scripting.asc +++ b/book/06-github/sections/5-scripting.asc @@ -107,7 +107,7 @@ image::images/scripting-04-webhook-debug.png[Webhook debug] Другая замечательная особенность этого заключается в том, что вы можете повторно доставить любые полезные данные, чтобы легко протестировать свой сервис. -Для получения дополнительной информации о том, как писать вебхуки и обо всех различных типах событий, которые вы можете прослушивать, перейдите к документации GitHub Developer по адресу https://developer.github.com/webhooks/[^]. +Для получения дополнительной информации о том, как писать вебхуки и обо всех различных типах событий, которые вы можете прослушивать, перейдите к документации GitHub Developer по адресу https://docs.github.com/ru/webhooks/about-webhooks[^]. ==== GitHub API @@ -299,4 +299,4 @@ image::images/scripting-07-status.png[Commit status] Посетите https://github.com/octokit[^] для получения дополнительной информации о них, так как они обрабатывают большую часть HTTP для вас. Надеюсь, эти инструменты помогут вам настроить и модифицировать GitHub, чтобы он лучше работал с вашими конкретными рабочими процессами. -Для получения полной документации по всему API, а также руководств по общим задачам посетите https://developer.github.com[^]. +Для получения полной документации по всему API, а также руководств по общим задачам посетите https://docs.github.com/ru[^]. diff --git a/book/07-git-tools/sections/credentials.asc b/book/07-git-tools/sections/credentials.asc index 0bf9aec4..ad7a3e72 100644 --- a/book/07-git-tools/sections/credentials.asc +++ b/book/07-git-tools/sections/credentials.asc @@ -19,10 +19,10 @@ Недостатком такого подхода является то, что ваш пароль хранится в открытом виде в файле в вашем домашнем каталоге. * На случай если вы используете Mac, в Git есть режим «osxkeychain», при использовании которого учётные данные хранятся в защищённом хранилище, привязанному к вашему системному аккаунту. В этом режиме учётные данные сохраняются на диск на неограниченное время, но они шифруются с использованием той же системы, с помощью которой сохраняются HTTPS-сертификаты и автозаполнения для Safari. -* В случае если вы используете Windows, то можете включить использование «Git Credential Manager» во время установки https://gitforwindows.org/[Git для Windows^] или установить https://github.com/GitCredentialManager/git-credential-manager/releases/latest[крайнюю версию GCM^] как отдельный сервис. +* В случае если вы используете Windows, то можете включить использование «Git Credential Manager» во время установки https://gitforwindows.org/[Git для Windows^] или установить https://github.com/git-ecosystem/git-credential-manager/releases/latest[крайнюю версию GCM^] как отдельный сервис. Он похож на «osxkeychain», описанный выше, но для управления секретной информацией использует Windows Credential Store. - Его так же можно использовать в https://github.com/GitCredentialManager/git-credential-manager/blob/release/docs/wsl.md[WSL1 и WSL2^]. - Больше имнформации об установке и настройке GCM можно найти на https://github.com/GitCredentialManager/git-credential-manager/blob/release/docs/install.md#windows[странице проекта на GitHub^]. + Его так же можно использовать в https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/wsl.md[WSL1 и WSL2^]. + Больше имнформации об установке и настройке GCM можно найти на https://github.com/git-ecosystem/git-credential-manager#readme[странице проекта на GitHub^]. Вы можете выбрать один из этих методов, изменив настройки Git: diff --git a/book/08-customizing-git/sections/config.asc b/book/08-customizing-git/sections/config.asc index 35a7c825..9aef085f 100644 --- a/book/08-customizing-git/sections/config.asc +++ b/book/08-customizing-git/sections/config.asc @@ -45,7 +45,7 @@ $ man git-config ---- Эта команда выведет список доступных настроек с довольно подробным описанием. -Так же, соответствующую документацию можно найти здесь https://git-scm.com/docs/git-config.html[^]. +Так же, соответствующую документацию можно найти здесь https://git-scm.com/docs/git-config[^]. ===== `core.editor` @@ -248,7 +248,7 @@ $ git config --global color.diff.meta "blue black bold" Если у вас есть желание попробовать P4Merge, то она работает на всех основных платформах, так что у вас должно получиться. В примерах мы будем использовать пути к файлам, которые работают в системах Linux и Mac; для Windows вам следует изменить `/usr/local/bin` на путь к исполняемому файлу у вас в системе. -Для начала https://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools[скачайте P4Merge^]. +Для начала https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge[скачайте P4Merge^]. Затем, создайте скрипты обёртки для вызова внешних программ. Мы будем использовать путь к исполняемому файлу в системе Mac; в других системах -- это путь к файлу `p4merge`. Создайте скрипт с названием `extMerge` для вызова программы слияния и передачи ей заданных параметров: 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 a2b05a10..4ed3738e 100644 --- a/book/09-git-and-other-scms/sections/import-svn.asc +++ b/book/09-git-and-other-scms/sections/import-svn.asc @@ -34,7 +34,7 @@ $ svn log --xml --quiet | grep author | sort -u | \ [NOTE] ==== Если вы пытаетесь выполнить это на компьютере с Windows, то у вас может возникнуть ряд проблем. -Однако, Microsoft предоставила несколько полезных советов по миграции https://docs.microsoft.com/en-us/azure/devops/repos/git/perform-migration-from-svn-to-git[^]. +Однако, Microsoft предоставила несколько полезных советов по миграции https://learn.microsoft.com/ru-ru/azure/devops/repos/git/perform-migration-from-svn-to-git[^]. ==== Для точного сопоставления авторов коммитов передайте файл `users.txt` команде `git svn`. diff --git a/book/A-git-in-other-environments/sections/guis.asc b/book/A-git-in-other-environments/sections/guis.asc index 2ac563e0..50df167c 100644 --- a/book/A-git-in-other-environments/sections/guis.asc +++ b/book/A-git-in-other-environments/sections/guis.asc @@ -96,7 +96,7 @@ image::images/github_win.png["GitHub для Windows"] ===== Установка -GitHub для Windows можно скачать на https://windows.github.com[^], а для Mac -- на https://mac.github.com[^]. +GitHub для Windows и Mac можно скачать на https://desktop.github.com/[^]. При первом запуске обе программы проведут первоначальную настройку Git, например, сконфигурируют ваше имя и email, а также установят разумные значения по умолчанию для распространённых опций типа CRLF-поведение и хранилище паролей. Оба инструмента поддерживают автообновление в фоне -- это означает, что у вас всегда будет последняя версия. @@ -149,4 +149,4 @@ image::images/branch_widget_win.png["Создание ветки в Windows"] Существует огромное множество других графических инструментов для работы с Git, начиная от специализированных, выполняющих одну задачу, заканчивая «комбайнами» покрывающими всю функциональность Git. На официальном сайте Git поддерживается в актуальном состоянии список наиболее популярных оболочек: https://git-scm.com/downloads/guis[^]. -Более подробный список доступен на Git вики: https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Graphical_Interfaces[^]. +Более подробный список доступен на Git вики: https://archive.kernel.org/oldwiki/git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools.html#Graphical_Interfaces[^]. diff --git a/book/A-git-in-other-environments/sections/powershell.asc b/book/A-git-in-other-environments/sections/powershell.asc index f6686ca5..2a27e59c 100644 --- a/book/A-git-in-other-environments/sections/powershell.asc +++ b/book/A-git-in-other-environments/sections/powershell.asc @@ -20,9 +20,9 @@ image::images/posh-git.png["PowerShell с Posh-Git"] Если вы администратор и хотите установить значение политики для всех пользователей, добавьте флаг `-Scope LocalMachine`. Если вы обычный пользователь и не имеете прав администратора, то используйте флаг `-Scope CurrentUser` для применения политики только для текущего пользователя. -Подробнее о PowerShell Scopes: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes[^] +Подробнее о PowerShell Scopes: https://learn.microsoft.com/ru-ru/powershell/module/microsoft.powershell.core/about/about_scopes[^] -Подробнее о PowerShell ExecutionPolicy: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy[^] +Подробнее о PowerShell ExecutionPolicy: https://learn.microsoft.com/ru-ru/powershell/module/microsoft.powershell.security/set-executionpolicy[^] [source,powershell] ---- @@ -33,7 +33,7 @@ image::images/posh-git.png["PowerShell с Posh-Git"] Если вы используете PowerShell 5 или PowerShell 4 с установленным PackageManagement, то Posh-Git можно установить с помощью пакетного менеджера. -Дополнительная информация о галерее PowerShell: https://docs.microsoft.com/en-us/powershell/scripting/gallery/overview[^] +Дополнительная информация о галерее PowerShell: https://learn.microsoft.com/ru-ru/powershell/scripting/gallery/overview[^] [source,powershell] ---- diff --git a/book/A-git-in-other-environments/sections/sublimetext.asc b/book/A-git-in-other-environments/sections/sublimetext.asc index 8a5574ac..92af492b 100644 --- a/book/A-git-in-other-environments/sections/sublimetext.asc +++ b/book/A-git-in-other-environments/sections/sublimetext.asc @@ -11,4 +11,4 @@ * Можно использовать некоторые функции git клиента Sublime Merge непосредственно из Sublime Text. (Это требует установки Sublime Merge: https://www.sublimemerge.com/[^]) -Официальная документация для Sublime Text доступна здесь: https://www.sublimetext.com/docs/3/git_integration.html[^] +Официальная документация для Sublime Text доступна здесь: https://www.sublimetext.com/docs/git_integration.html[^] diff --git a/book/A-git-in-other-environments/sections/visualstudio.asc b/book/A-git-in-other-environments/sections/visualstudio.asc index 7e4d809a..23ca196f 100644 --- a/book/A-git-in-other-environments/sections/visualstudio.asc +++ b/book/A-git-in-other-environments/sections/visualstudio.asc @@ -23,4 +23,4 @@ image::images/vs-2.png["Главная страница Git-репозитори В настоящее время Visual Studio имеет мощный задача-ориентированный графический интерфейс для Git. Он включает в себя возможность линейного представления истории, различные средства просмотра, средства выполнения удалённых команд и множество других возможностей. -Подробнее об использовании Git в Visual Studio: https://docs.microsoft.com/en-us/azure/devops/repos/git/command-prompt?view=azure-devops[^]. +Подробнее об использовании Git в Visual Studio: https://learn.microsoft.com/ru-ru/visualstudio/version-control/[^]. diff --git a/book/A-git-in-other-environments/sections/visualstudiocode.asc b/book/A-git-in-other-environments/sections/visualstudiocode.asc index a7011f47..621f2de9 100644 --- a/book/A-git-in-other-environments/sections/visualstudiocode.asc +++ b/book/A-git-in-other-environments/sections/visualstudiocode.asc @@ -18,4 +18,4 @@ Visual Studio Code имеет встроенную поддержку Git. * С помощью плагина можно работать с запросами слияния на GitHub: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github[^]. -Официальная документация доступна здесь: https://code.visualstudio.com/Docs/editor/versioncontrol[^]. +Официальная документация доступна здесь: https://code.visualstudio.com/docs/sourcecontrol/overview[^]. diff --git a/book/A-git-in-other-environments/sections/zsh.asc b/book/A-git-in-other-environments/sections/zsh.asc index 68fc760f..49b3e50f 100644 --- a/book/A-git-in-other-environments/sections/zsh.asc +++ b/book/A-git-in-other-environments/sections/zsh.asc @@ -40,13 +40,13 @@ zstyle ':vcs_info:git:*' formats '%b' .Кастомизированная строка приветствия в `zsh` image::images/zsh-prompt.png["Кастомизированная строка приветствия в `zsh`"] -Дополнительную информацию о `vcs_info` можно найти в документации `zshcontrib(1)` или онлайн http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information[^]. +Дополнительную информацию о `vcs_info` можно найти в документации `zshcontrib(1)` или онлайн https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#Version-Control-Information[^]. Возможно, вы предпочтёте использовать поставляемый вместе с Git скрипт настройки `git-prompt.sh`; детали использования приведены в комментариях к файлу https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh[^]. Скрипт `git-prompt.sh` совместим с обеими оболочками Bash и Zsh. Zsh настолько конфигурируем, что существуют целые фреймворки, посвящённые его улучшению. -Пример такого проекта, называемый «oh-my-zsh», расположен на https://github.com/robbyrussell/oh-my-zsh[^]. +Пример такого проекта, называемый «oh-my-zsh», расположен на https://github.com/ohmyzsh/ohmyzsh[^]. Система плагинов этого проекта включает в себя мощнейший набор правил автодополнения для Git, а многие «темы» (служащие для настройки строк приветствия) отображают информацию из различных систем контроля версий. <> -- лишь один из многих вариантов применения. diff --git a/book/B-embedding-git/sections/dulwich.asc b/book/B-embedding-git/sections/dulwich.asc index 292d2061..a9108dc9 100644 --- a/book/B-embedding-git/sections/dulwich.asc +++ b/book/B-embedding-git/sections/dulwich.asc @@ -2,7 +2,7 @@ (((Dulwich)))(((Python))) Так же существует реализация Git на чистом Python -- Dulwich. -Проект размещается здесь hhttps://github.com/jelmer/dulwich[^]. +Проект размещается здесь https://github.com/jelmer/dulwich[^]. Целью проекта является предоставление интерфейса к Git репозиториям (как локальным, так и удалённым) используя чистый Python, а не вызывая Git. В нём используются дополнительные расширения на С, которые существенно увеличивают производительность. diff --git a/book/B-embedding-git/sections/go-git.asc b/book/B-embedding-git/sections/go-git.asc index bda00101..ac1befa8 100644 --- a/book/B-embedding-git/sections/go-git.asc +++ b/book/B-embedding-git/sections/go-git.asc @@ -54,7 +54,7 @@ r, err := git.Clone(memory.NewStorage(), nil, &git.CloneOptions{ Например, https://github.com/go-git/go-git/tree/master/_examples/storage[^] позволяет вам сохранять ссылки, объекты и конфигурацию в базе данных Aerospike. Другая особенность -- гибкая абстракция файловой системы. -Используя https://pkg.go.dev/github.com/go-git/go-billy/v5?tab=doc#Filesystem[^] легко сохранять все файлы разными способами: упаковав их все в один архив хранить на диске или держать в памяти. +Используя https://pkg.go.dev/github.com/go-git/go-billy/v5#Filesystem[^] легко сохранять все файлы разными способами: упаковав их все в один архив хранить на диске или держать в памяти. Ещё одна продвинутая возможность -- это тонко настраиваемый HTTP клиент, как например вот этот https://github.com/go-git/go-git/blob/master/_examples/custom_http/main.go[^]. diff --git a/book/B-embedding-git/sections/libgit2.asc b/book/B-embedding-git/sections/libgit2.asc index ba942121..2c13de83 100644 --- a/book/B-embedding-git/sections/libgit2.asc +++ b/book/B-embedding-git/sections/libgit2.asc @@ -233,5 +233,5 @@ pygit2.Repository("/path/to/repo") # открыть репозиторий ==== Дополнительные материалы Конечно же, полное описание возможностей Libgit2 выходит далеко за пределы этой книги. -Если вы хотите подробнее ознакомиться с Libgit2, можете начать с документации к API https://libgit2.github.com/libgit2[^] и набора руководств https://libgit2.github.com/docs[^]. +Если вы хотите подробнее ознакомиться с Libgit2, можете начать с документации к API https://libgit2.org/docs/reference/[^] и набора руководств https://libgit2.org/docs/guides/101-samples/[^]. Для привязок к другим языкам, загляните в README и исходники тестов, довольно часто в них встречаются ссылки на полезные материалы по теме.