{"action":"created","comment":{"url":"https://api.github.com/repos/progit/progit2-uk/pulls/comments/58314667","id":58314667,"diff_hunk":"@@ -1,484 +1,486 @@\n [appendix]\n-== Git Commands\n+== Команди Git\n \n-Throughout the book we have introduced dozens of Git commands and have tried hard to introduce them within something of a narrative, adding more commands to the story slowly. However, this leaves us with examples of usage of the commands somewhat scattered throughout the whole book.\n+Упродовж книги ми використовували десятки команд Git та дуже намагались представляти їх з приміткою, додавати нові команди до оповідання повільно. Втім, це призводить до того, що приклади використання команд дещо розкидані по всій книзі.\n \n-In this appendix, we'll go through all the Git commands we addressed throughout the book, grouped roughly by what they're used for. We'll talk about what each command very generally does and then point out where in the book you can find us having used it.\n+У цьому додатку, ми переглянемо всі команди Git, до яких зверталися протягом книги, грубо згуртовані за призначенням. Ми поговоримо про те, що кожна команда робить дуже загально та вкажемо, де в книзі ви можете знайти її використання.\n \n \n-=== Setup and Config\n+=== Налаштування та конфігурація\n \n-There are two commands that are used quite a lot, from the first invocations of Git to common every day tweaking and referencing, the `config` and `help` commands.\n+Існує дві команди, які були дуже вживані, від перших викликів Git до повсякденного долаштування та : команди `config` та `help`.\n \n ==== git config\n \n-Git has a default way of doing hundreds of things. For a lot of these things, you can tell Git to default to doing them a different way, or set your preferences. This involves everything from telling Git what your name is to specific terminal color preferences or what editor you use. There are several files this command will read from and write to so you can set values globally or down to specific repositories.\n+Git має типовий спосіб, як робити сотні речей. Для більшості з них, ви можете сказати Git працювати типово інакше, або встановити свої вподобання. Це включає все від надання Git свого імʼя до визначення кольорів у терміналі чи який редактор використовувати. Існує декілька файлів, які ця команда читає та пише, щоб ви могли встановлювати значення як глобально, так і для окремих сховищ.\n \n-The `git config` command has been used in nearly every chapter of the book.\n+Команда `git config` використовується майже в кожному розділі цієї книги.\n \n-In <<_first_time>> we used it to specify our name, email address and editor preference before we even got started using Git.\n+У <<_first_time>> ми використовували її щоб задати своє імʼя, поштову скриньку та редактор, навіть перед початком використання Git.\n \n-In <<_git_aliases>> we showed how you could use it to create shorthand commands that expand to long option sequences so you don't have to type them every time.\n+У <<_git_aliases>> ми показали, як ви можете використовувати її для створення скорочених команд, які розкриваються в довгі послідовності опцій, щоб вам не доводилося набирати їх щоразу.\n \n-In <<_rebasing>> we used it to make `--rebase` the default when you run `git pull`.\n+У <<_rebasing>> ми використали її, щоб зробити `--rebase` типовим, коли ви виконуєте `git pull`.\n \n-In <<_credential_caching>> we used it to set up a default store for your HTTP passwords.\n+У <<_credential_caching>> ми використали її, щоб налаштувати типове збереження ваших паролів HTTP.\n \n-In <<_keyword_expansion>> we showed how to set up smudge and clean filters on content coming in and out of Git.\n+У <<_keyword_expansion>> ми показали, як налаштувати фільтри smudge (забруднити) та clean (очистити) для вмісту, що приходить з і йде до Git.\n \n-Finally, basically the entirety of <<_git_config>> is dedicated to the command.\n+Нарешті, фактично весь <<_git_config>> присвячено цій команді.\n \n ==== git help\n \n-The `git help` command is used to show you all the documentation shipped with Git about any command. While we're giving a rough overview of most of the more popular ones in this appendix, for a full listing of all of the possible options and flags for every command, you can always run `git help <command>`.\n+Команда `git help` призначена для відображення документації, що постачається разом з Git для кожної команди. Хоча ми даємо деякий огляд більшості з більш поширених команд у цьому додатку, для повного списку всіх можливих опцій кожної команди, ви завжди можете виконати `git help <команда>`.\n \n-We introduced the `git help` command in <<_git_help>> and showed you how to use it to find more information about the `git shell` in <<_setting_up_server>>.\n+Ми представили команду `git help` у <<_git_help>> та показали, як скористатись нею, щоб знайти більше інформації про `git shell` у <<_setting_up_server>>.\n \n \n-=== Getting and Creating Projects\n+=== Отримання та створення проектів\n \n-There are two ways to get a Git repository. One is to copy it from an existing repository on the network or elsewhere and the other is to create a new one in an existing directory.\n+Існує два способи отримати сховище Git. Перший -- скопіювати його з існуючого проекту з мережі чи деінде, а другий -- створити нове в існуючій директорії.\n \n ==== git init\n \n-To take a directory and turn it into a new Git repository so you can start version controlling it, you can simply run `git init`.\n+Щоб взяти директорію та перетворити її на новий репозиторій Git, щоб ви могли почати керувати її версіями, ви можете просто виконати `git init`.\n \n-We first introduce this in <<_getting_a_repo>>, where we show creating a brand new repository to start working with.\n+Ми вперше представляємо її в <<_getting_a_repo>>, де ми демонструємо створення цілковито нового сховища для початку роботи з ним.\n \n-We talk briefly about how you can change the default branch from ``master'' in <<_remote_branches>>.\n+Ми коротко розповідаємо про те, як ви можете змінити назву типової гілки ``master'' у <<_remote_branches>>.\n \n-We use this command to create an empty bare  repository for a server in <<_bare_repo>>.\n+Ми використовуємо цю команду для створення порожнього чистого (bare) сховища для сервера в <<_bare_repo>>.\n \n-Finally, we go through some of the details of what it actually does behind the scenes in <<_plumbing_porcelain>>.\n+Нарешті, ми розглядаємо деякі подробиці того, що насправді коїться за кулісами в <<_plumbing_porcelain>>.\n \n ==== git clone\n \n-The `git clone` command is actually something of a wrapper around several other commands. It creates a new directory, goes into it and runs `git init` to make it an empty Git repository, adds a remote (`git remote add`) to the URL that you pass it (by default named `origin`), runs a `git fetch` from that remote repository and then checks out the latest commit into your working directory with `git checkout`.\n+Команда `git clone` насправді є чимось на кшталт обгортки над декількома іншими командами. Вона створює нову директорію, переходить до неї та виконує `git init`, щоб зробити порожнє сховище Git, додає віддалене сховище (`git remote add`) з URL, яке ви надали їй (типово називає його `origin`), виконує `git fetch` з нього, а потім отримує останній коміт до вашої робочої директорії за допомогою `git checkout`.\n \n-The `git clone` command is used in dozens of places throughout the book, but we'll just list a few interesting places.\n+Команда `git clone` використовується в десятках місць у цій книзі, проте ми опишемо з них лише декілька цікавих.\n \n-It's basically introduced and explained in <<_git_cloning>>, where we go through a few examples.\n+Вона представлена та розглянута в <<_git_cloning>>, де ми проходимо декілька прикладів.\n \n-In <<_git_on_the_server>> we look at using the `--bare` option to create a copy of a Git repository with no working directory.\n+У <<_git_on_the_server>> ми дивимось на використання опції `--bare` для створення копії репозиторію Git без робочої директорії.\n \n-In <<_bundling>> we use it to unbundle a bundled Git repository.\n+У <<_bundling>> ми використовуємо її для розпакування запакованого (bundled) сховища Git.\n \n-Finally, in <<_cloning_submodules>> we learn the `--recursive` option to make cloning a repository with submodules a little simpler.\n+Нарешті, у <<_cloning_submodules>> ми дізнаємося про опцію `--recursive`, щоб зробити клонування сховища з підмодулями трохи простішим.\n \n-Though it's used in many other places through the book, these are the ones that are somewhat unique or where it is used in ways that are a little different.\n+Хоча її використано в багатьох інших місцях книги, це ті з них, в яких є щось особливо або де вона використовується в трохи інший спосіб.\n \n \n-=== Basic Snapshotting\n+=== Базове збереження відбитків\n \n-For the basic workflow of staging content and committing it to your history, there are only a few basic commands.\n+Для базового процесу роботи індексування вмісту та збереження його в комітах вашої історії, є лише декілька базових команд.\n \n ==== git add\n \n-The `git add` command adds content from the working directory into the staging area (or ``index'') for the next commit. When the `git commit` command is run, by default it only looks at this staging area, so `git add` is used to craft what exactly you would like your next commit snapshot to look like.\n+Команда `git add` додає вміст з робочої директорії до індексу (чи області додавання) для наступного коміту. Коли виконується команда `git commit`, типово вона дивиться лише на індекс, отже `git add` використовується для підготовки того, яким саме ви бажаєте зробити наступний відбиток коміту.\n \n-This command is an incredibly important command in Git and is mentioned or used dozens of times in this book. We'll quickly cover some of the unique uses that can be found.\n+Ця команда неймовірно важлива в Git і згадується та використовується десятки разів у цій книзі. Ми швидко розглянемо деякі особливі використання, які можна знайти.\n \n-We first introduce and explain `git add` in detail in <<_tracking_files>>.\n+Спершу ми представляємо та пояснюємо докладно `git add` у <<_tracking_files>>.\n \n-We mention how to use it to resolve merge conflicts in <<_basic_merge_conflicts>>.\n+Ми згадуємо, як використати її для розвʼязання конфліктів у <<_basic_merge_conflicts>>.\n \n-We go over using it to interactively stage only specific parts of a modified file in <<_interactive_staging>>.\n+Ми розглядаємо її використання для інтерактивного додавання лише окремих частин редагованих файлів у <<_interactive_staging>>.\n \n-Finally, we emulate it at a low level in <<_tree_objects>>, so you can get an idea of what it's doing behind the scenes.\n+Нарешті, ми емулюємо її на низькому рівні в <<_tree_objects>>, щоб ви могли уявити, що виконується за кулісами.\n \n ==== git status\n \n-The `git status` command will show you the different states of files in your working directory and staging area. Which files are modified and unstaged and which are staged but not yet committed. In its normal form, it also will show you some basic hints on how to move files between these stages.\n+Команда `git status` покаже вам різні стани файлів у вашій робочій директорії та індексі. Які файли змінені, проте не в індексі, а які індексовані, проте досі не збережені в коміті. У звичайній формі, вона також покаже вам деякі базові підказки щодо переміщення файлів між цими станами.\n \n-We first cover `status` in <<_checking_status>>, both in its basic and simplified forms. While we use it throughout the book, pretty much everything you can do with the `git status` command is covered there.\n+Спочатку и розглядаємо `status` у <<_checking_status>>, як базову, як і спрощену форми. Хоча ми використовуємо її впродовж книги, дійсно все, що ви можете робити за допомогою команди `git status` розглянуто там.\n \n ==== git diff\n \n-The `git diff` command is used when you want to see differences between any two trees. This could be the difference between your working environment and your staging area (`git diff` by itself), between your staging area and your last commit (`git diff --staged`), or between two commits (`git diff master branchB`).\n+Команда `git diff` використовується, коли ви бажаєте побачити різницю між якимись двома деревами. Це може бути різниця між вашим робочим середовищем та індексом (просто `git diff`), між вашим індексом та останнім комітом (`git diff --staged`), або між двома комітами (`git diff master branchB`).\n \n-We first look at the basic uses of `git diff` in <<_git_diff_staged>>, where we show how to see what changes are staged and which are not yet staged.\n+Ми вперше бачимо базове використання `git diff` у <<_git_diff_staged>>, де ми показуємо, як дізнатись, які зміни індексовані, а які ще ні.\n \n-We use it to look for possible whitespace issues before committing with the `--check` option in <<_commit_guidelines>>.\n+Ми використовуємо її, щоб побачити можливі проблеми з пробільними символами перед створенням коміту за допомогою опції `--check` у <<_commit_guidelines>>.\n \n-We see how to check the differences between branches more effectively with the `git diff A...B` syntax in <<_what_is_introduced>>.\n+Ми бачимо, як перевірити різницю між гілками ефективніше за допомогою синтаксису `git diff A...B` у <<_what_is_introduced>>.\n \n-We use it to filter out whitespace differences with `-b` and how to compare different stages of conflicted files with `--theirs`, `--ours` and `--base` in <<_advanced_merging>>.\n+Ми дізнаємось, як ігнорувати різницю в пробільних символах за допомогою `-b` та як порівняти стани конфліктних файлів за допомогою `--theirs`, `--ours` та `--base` у <<_advanced_merging>>.\n+\n+Нарешті, ми використовуємо її для ефективного порівняння змін у підмодулях за допомогою `--submodule` у <<_starting_submodules>>.\n \n-Finally, we use it to effectively compare submodule changes with `--submodule` in <<_starting_submodules>>.\n \n ==== git difftool\n \n-The `git difftool` command simply launches an external tool to show you the difference between two trees in case you want to use something other than the built in `git diff` command.\n+Команда `git difftool` просто запускає зовнішній інструмент, щоб показати вам різницю між двома гілками у випадку, якщо ви бажаєте використати щось інше, ніж вбудовану команду `git diff`.\n \n-We only briefly mention this in <<_git_diff_staged>>.\n+Ми лише коротко згадуємо про це в <<_git_diff_staged>>.\n \n ==== git commit\n \n-The `git commit` command takes all the file contents that have been staged with `git add` and records a new permanent snapshot in the database and then moves the branch pointer on the current branch up to it.\n+Команда `git commit` бере вміст всіх файлів, які ви індексували командою `git add`, та записує новий сталий відбиток до бази даних, а потім пересуває вказівник поточної гілки до нього.\n \n-We first cover the basics of committing in <<_committing_changes>>. There we also demonstrate how to use the `-a` flag to skip the `git add` step in daily workflows and how to use the `-m` flag to pass a commit message in on the command line instead of firing up an editor.\n+Спочатку ми розглядаємо базове створення комітів у <<_committing_changes>>. Там ми також демонструємо використання опції `-a` для пропуску кроку `git add` у щоденних процесах роботи, та як використати опцію `-m`, щоб передати повідомлення коміту з командного рядку замість запуску редактора.\n \n-In <<_undoing>> we cover using the `--amend` option to redo the most recent commit.\n+У <<_undoing>> ми розглядаємо використання опції `--amend` для переробки останнього коміту.\n \n-In <<_git_branches_overview>>, we go into much more detail about what `git commit` does and why it does it like that.\n+У <<_git_branches_overview>>, ми набагато детальніше розглядаємо, що робить `git commit` та чому він це робить таким чином.\n \n-We looked at how to sign commits cryptographically with the `-S` flag in <<_signing_commits>>.\n+Ми бачили, як підписувати коміти криптографічно за допомогою опції `-S` у <<_signing_commits>>.\n \n-Finally, we take a look at what the `git commit` command does in the background and how it's actually implemented in <<_git_commit_objects>>.\n+Нарешті, ми поглянули на те, що робить команда `git commit` у фоні та як вона насправді імплементована в <<_git_commit_objects>>.\n \n ==== git reset\n \n-The `git reset` command is primarily used to undo things, as you can possibly tell by the verb. It moves around the `HEAD` pointer and optionally changes the `index` or staging area and can also optionally change the working directory if you use `--hard`. This final option makes it possible for this command to lose your work if used incorrectly, so make sure you understand it before using it.\n+Команда `git reset` переважно використовується для скасування речей, як ви напевно можете здогадатись через дієслово. Вона переміщує вказівник `HEAD`, а також може змінити індекс (область додавання) та може змінити робочу директорію, якщо ви використаєте `--hard`. Ця остання опція робить можливим втрату вашої праці через цю команду, якщо використати її неправильно, отже переконайтесь, що ви розумієте її перед використанням.\n \n-We first effectively cover the simplest use of `git reset` in <<_unstaging>>, where we use it to unstage a file we had run `git add` on.\n+Ми спочатку розглядаємо найпростіше використання `git reset` в <<_unstaging>>, де ми використовуємо її для деіндексації файлу, на якому ми були виконали `git add`.\n \n-We then cover it in quite some detail in <<_git_reset>>, which is entirely devoted to explaining this command.\n+Ми потім розглядаємо її доволі детально в <<_git_reset>>, яка повністю присвячена поясненню цієї команди.\n \n-We use `git reset --hard` to abort a merge in <<_abort_merge>>, where we also use `git merge --abort`, which is a bit of a wrapper for the `git reset` command.\n+Ми використовуємо `git reset --hard` для скасування злиття у <<_abort_merge>>, де ми також використовуємо `git merge --abort`, яка є трохи обгорткою для команди `git reset`.\n \n ==== git rm\n \n-The `git rm` command is used to remove files from the staging area and working directory for Git. It is similar to `git add` in that it stages a removal of a file for the next commit.\n+Команда `git rm` використовується для вилучення файлів з індексу та робочої директорії Git. Вона схожа на `git add` в тому, що індексує вилучення файлу для наступного коміту.\n \n-We cover the `git rm` command in some detail in <<_removing_files>>, including recursively removing files and only removing files from the staging area but leaving them in the working directory with `--cached`.\n+Ми розглядаємо команду `git rm` дещо детально в <<_removing_files>>, включно з рекурсивним вилученням файлів та вилученням лише з індексу, проте залишаючи їх у робочій директорії за допомогою `--cached`.\n \n-The only other differing use of `git rm` in the book is in <<_removing_objects>> where we briefly use and explain the `--ignore-unmatch` when running `git filter-branch`, which simply makes it not error out when the file we are trying to remove doesn't exist. This can be useful for scripting purposes.\n+Єдине інше відмінне використання `git rm` у книзі є в <<_removing_objects>>, де ми стисло пояснюємо `--ignore-unmatch` при виконанні `git filter-branch`, яке просто змушує не вважати помилкою відсутність файлу під час спроби його вилучити. Це може бути корисним для написання скриптів.\n \n ==== git mv\n \n-The `git mv` command is a thin convenience command to move a file and then run `git add` on the new file and `git rm` on the old file.\n+Команда `git mv` є маленькою зручною командою, яка переміщує файл, виконує `git add` для нового файлу та `git rm` для старого.\n \n-We only briefly mention this command in <<_git_mv>>.\n+Ми лише мимохідь згадуємо цю команду в <<_git_mv>>.\n \n ==== git clean\n \n-The `git clean` command is used to remove unwanted files from your working directory. This could include removing temporary build artifacts or merge conflict files.\n+Команда `git clean` використовується для вилучення небажаних файлів з вашої робочої директорії. Це може включати вилучення тимчасових результатів зборки, чи файлів конфлікту злиття.\n \n-We cover many of the options and scenarios in which you might used the clean command in <<_git_clean>>.\n+Ми розглядаємо багато опцій та випадків, в яких ви можете використати команду clean у <<_git_clean>>.\n \n-=== Branching and Merging\n+=== Галуження та зливання\n \n-There are just a handful of commands that implement most of the branching and merging functionality in Git.\n+Існує лише жменя команд, які імплементують більшість функціоналу галуження та зливання в Git.\n \n ==== git branch\n \n-The `git branch` command is actually something of a branch management tool. It can list the branches you have, create a new branch, delete branches and rename branches.\n+Команда `git branch` насправді є чимось на кшталт інструменту керування гілками. Вона може виводити список існуючих гілок, створювати нову гілку, вилучати гілки та перейменовувати їх.\n \n-Most of <<_git_branching>> is dedicated to the `branch` command and it's used throughout the entire chapter. We first introduce it in <<_create_new_branch>> and we go through most of its other features (listing and deleting) in <<_branch_management>>.\n+Більша частина <<_git_branching>> присвячена команді `branch` та використовується впродовж цілого розділу. Ми спочатку представляємо її в <<_create_new_branch>>, та розглядаємо більшість з решти її функціоналу (надання списку та вилучення) в <<_branch_management>>.\n \n-In <<_tracking_branches>> we use the `git branch -u` option to set up a tracking branch.\n+У <<_tracking_branches>> ми використовуємо `git branch -u` опцію, щоб налаштувати відслідковувану гілку.\n \n-Finally, we go through some of what it does in the background in <<_git_refs>>.\n+Нарешті, ми розглядаємо дещо з того, що вона робить усередині в <<_git_refs>>.\n \n ==== git checkout\n \n-The `git checkout` command is used to switch branches and  check content out into your working directory.\n+Команда `git checkout` використовується для переключення гілок та отримання вмісту до вашої робочої директорії.\n \n-We first encounter the command in <<_switching_branches>> along with the `git branch` command.\n+Ми вперше стикаємось з нею в <<_switching_branches>> разом з командою `git branch`.\n \n-We see how to use it to start tracking branches with the `--track` flag in <<_tracking_branches>>.\n+Ми бачимо, як її використати для початку слідкування за гілками за допомогою опції `--track` в <<_tracking_branches>>.\n \n-We use it to reintroduce file conflicts with `--conflict=diff3` in <<_checking_out_conflicts>>.\n+Ми використовуємо її щоб повернути конфлікти у файлі за допомогою `--conflict=diff3` в <<_checking_out_conflicts>>.\n \n-We go into closer detail on its relationship with `git reset` in <<_git_reset>>.\n+Ми ближче розглядаємо її звʼязок з `git reset` у <<_git_reset>>.\n \n-Finally, we go into some implementation detail in <<_the_head>>.\n+Нарешті, ми переходимо до деяких деталей імплементації в <<_the_head>>.\n \n ==== git merge\n \n-The `git merge` tool is used to merge one or more branches  into the branch you have checked out. It will then advance the current branch to the result of the merge.\n+Інструмент `git merge` використовується для зливання однієї чи більше гілок до поточної гілки. Вона потім пересуває поточну гілку до результату злиття.\n \n-The `git merge` command was first introduced in <<_basic_branching>>. Though it is used in various places in the book, there are very few variations of the `merge` command -- generally just `git merge <branch>` with the name of the single branch you want to merge in.\n+Команда `git merge` була вперше представлена в <<_basic_branching>>. Хоча ми її використовували в різних місцях книги, є лише декілька варіацій команди `merge` -- зазвичай просто `git merge <гілка>` з назвою єдиної гілки, яку ви бажаєте злити.\n \n-We covered how to do a squashed merge (where Git merges the work but pretends like it's just a new commit without recording the history of the branch you're merging in) at the very end of <<_public_project>>.\n+Ми розглянули, як робити зварене злиття (коли Git зливає роботу, проте вдає ніби це просто новий коміт без запису історії гілки, яку ви зливаєте) наприкінці <<_public_project>>.\n \n-We went over a lot about the merge process and command, including the `-Xignore-space-change` command and the `--abort` flag to abort a problem merge in <<_advanced_merging>>.\n+Ми розповіли чимало про процес зливання та цю команду, включно з командою `-Xignore-space-change`, та опцією `--abort`, щоб припинити проблемне зливання в <<_advanced_merging>>.\n \n-We learned how to verify signatures before merging if your project is using GPG signing in <<_signing_commits>>.\n+Ми дізнались, як перевірити підписи перед зливанням, якщо ваш проект використовує підписи GPG у <<_signing_commits>>.\n \n-Finally, we learned about Subtree merging in <<_subtree_merge>>.\n+Нарешті, ми дізнались про зливання піддерев у <<_subtree_merge>>.\n \n ==== git mergetool\n \n-The `git mergetool` command simply launches an external merge helper in case you have issues with a merge in Git.\n+Команда `git mergetool` просто запускає зовнішній помічник зливання у випадку, якщо у вас проблеми зі зливанням у Git.\n \n-We mention it quickly in <<_basic_merge_conflicts>> and go into detail on how to implement your own external merge tool in <<_external_merge_tools>>.\n+Ми нашвидку згадуємо її в <<_basic_merge_conflicts>> та детально розглядаємо, як написати свій власний інструмент для зовнішнього злиття в <<_external_merge_tools>>.\n \n ==== git log\n \n-The `git log` command is used to show the reachable recorded history of a project from the most recent commit snapshot backwards. By default it will only show the history of the branch you're currently on, but can be given different or even multiple heads or branches from which to traverse. It is also often used to show differences between two or more branches at the commit level.\n+Команда `git log` використовується, щоб показати досяжну записану історію проекту починаючи з останнього відбитку коміту у зворотному порядку. Типово вона покаже лише історію поточної гілки, проте ви можете надати їй інше чи навіть декілька посилань чи гілок, які треба обійти. Вона також часто використовується, щоб показати різницю між двома чи більше гілками на рівні комітів.\n \n-This command is used in nearly every chapter of the book to demonstrate the history of a project.\n+Ця команда використовується майже в кожному розділі цієї книги, щоб продемонструвати історію проекту.\n \n-We introduce the command and cover it in some depth in <<_viewing_history>>. There we look at the `-p` and `--stat` option to get an idea of what was introduced in each commit and the `--pretty` and `--oneline` options to view the history more concisely, along with some simple date and author filtering options.\n+Ми представляємо команду та доволі глибоко розглядаємо її в <<_viewing_history>>. Там ми бачимо опції `-p` та `--stat`, щоб отримати уявлення про впроваджені кожним комітом зміни, а також опції `--pretty` та `--oneline` для перегляду історії стисліше, разом з деякими простими опціями фільтрації за датою та автором.\n \n-In <<_create_new_branch>> we use it with the `--decorate` option to easily visualize where our branch pointers are located and we also use the `--graph` option to see what divergent histories look like.\n+У <<_create_new_branch>> ми використовуємо її з опцією `--decorate`, щоб легко унаочнити, куди ведуть наші вказівники гілок, а також використовуємо опцію `--graph`, щоб побачити, як виглядають галужені історії.\n \n-In <<_private_team>> and <<_commit_ranges>> we cover the `branchA..branchB` syntax to use the `git log` command to see what commits are unique to a branch relative to another branch. In <<_commit_ranges>> we go through this fairly extensively.\n+У <<_private_team>> та <<_commit_ranges>>  ми розглядаємо синтаксис `branchA..branchB` для використання з командою `git log`, щоб побачити які коміти унікальні в гілці відносно іншої гілки. У <<_commit_ranges>> ми розглядаємо це дуже докладно.\n \n-In <<_merge_log>> and <<_triple_dot>> we cover using the `branchA...branchB` format and the `--left-right` syntax to see what is in one branch or the other but not in both. In <<_merge_log>> we also look at how to use the `--merge` option to help with merge conflict debugging as well as using the `--cc` option to look at merge commit conflicts in your history.\n+У <<_merge_log>> та <<_triple_dot>> ми розглядаємо використання формату `branchA...branchB` та синтаксису `--left-right` для перегляду того, що є в одній з гілок, проте не в них обох. У <<_merge_log>> ми також дивимось, як використати опцію `--merge`, щоб допомогти з дослідженням конфліктів злиття, а також опцію `--cc`, щоб бачити конфлікти комітів злиття у вашій історії.\n \n-In <<_git_reflog>> we use the `-g` option to view the Git reflog through this tool instead of doing branch traversal.\n+У <<_git_reflog>> ми використовуємо опцію `-g`, щоб переглянути журнал посилань Git за допомогою цього інструменту замість обходу гілки.\n \n-In <<_searching>> we look at using the `-S` and `-L` options to do fairly sophisticated searches for something that happened historically in the code such as seeing the history of a function.\n+У <<_searching>> ми бачимо використання опцій `-S` та `-L` для доволі витончених пошуків чогось, що сталось колись у коді, наприклад щоб побачити історію функції.\n \n-In <<_signing_commits>> we see how to use `--show-signature` to add a validation string to each commit in the `git log` output based on if it was validly signed or not.\n+У <<_signing_commits>> ми бачимо, як використати `--show-signature`, щоб додати перевірочний рядок до кожного коміту у виводі `git log`, в залежності від того, правильно його підписано чи ні.\n \n ==== git stash\n \n-The `git stash` command is used to temporarily store uncommitted work in order to clean out your working directory without having to commit unfinished work on a branch.\n+Команда `git stash` використовується для тимчасового збереження роботи поза комітом, щоб очистити робочу директорії без необхідності створювати коміт з незавершеною роботою в гілці.\n \n-This is basically entirely covered in <<_git_stashing>>.\n+Вона повністю розглянута в <<_git_stashing>>.\n \n ==== git tag\n \n-The `git tag` command is used to give a permanent bookmark to a specific point in the code history. Generally this is used for things like releases.\n+Команда `git tag` використовується, щоб створити сталу закладку на окремий момент в історії коду. Зазвичай це використовується для речей на кшталт видань (release).\n \n-This command is introduced and covered in detail in <<_git_tagging>> and we use it in practice in <<_tagging_releases>>.\n+Ця команда представлена та детально розглянута в <<_git_tagging>>, та ми використовуємо її на практиці в <<_tagging_releases>>.\n \n-We also cover how to create a GPG signed tag with the `-s` flag and verify one with the `-v` flag in <<_signing>>.\n+Ми також розглядаємо, як створити підписаний GPG теґ за допомогою опції `-s` та перевіряємо підпис за допомогою опції `-v` у <<_signing>>.\n \n \n-=== Sharing and Updating Projects\n+=== Надання доступу та оновлення проектів\n \n-There are not very many commands in Git that access the network, nearly all of the commands operate on the local database. When you are ready to share your work or pull changes from elsewhere, there are a handful of commands that deal with remote repositories.\n+Існує небагато команд Git, які використовують мережу, майже всі команди працюють над локальною базою даних. Коли ви готові поділитись своєю роботою чи взяти зміни деінде, існує лише жменя команд, які працюють з віддаленими сховищами.\n \n ==== git fetch\n \n-The `git fetch` command communicates with a remote repository and fetches down all the information that is in that repository that is not in your current one and stores it in your local database.\n+Команда `git fetch` спілкується з віддаленим репозиторієм та отримує з нього всю інформацію, яка в ньому є, а в поточному сховищі ні, та зберігає її в локальній базі даних.\n \n-We first look at this command in <<_fetching_and_pulling>> and we continue to see examples of it use in <<_remote_branches>>.\n+Ми спочатку бачимо цю команду в <<_fetching_and_pulling>> та продовжуємо бачити приклади її використання в <<_remote_branches>>.\n \n-We also use it in several of the examples in <<_contributing_project>>.\n+Також ми використовуємо її в декількох прикладах у <<_contributing_project>>.\n \n-We use it to fetch a single specific reference that is outside of the default space in <<_pr_refs>> and we see how to fetch from a bundle in <<_bundling>>.\n+Ми використовуємо її щоб отримати одне окреме посилання поза типового джерела в <<_pr_refs>> та бачимо, як отримувати зміни з пакунка в <<_bundling>>.","path":"book/C-git-commands/1-git-commands.asc","position":359,"original_position":359,"commit_id":"6d7ee70e924b27584cdbb5992951d5086183f945","original_commit_id":"6d7ee70e924b27584cdbb5992951d5086183f945","user":{"login":"tbudurovych","id":560824,"avatar_url":"https://avatars.githubusercontent.com/u/560824?v=3","gravatar_id":"","url":"https://api.github.com/users/tbudurovych","html_url":"https://github.com/tbudurovych","followers_url":"https://api.github.com/users/tbudurovych/followers","following_url":"https://api.github.com/users/tbudurovych/following{/other_user}","gists_url":"https://api.github.com/users/tbudurovych/gists{/gist_id}","starred_url":"https://api.github.com/users/tbudurovych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbudurovych/subscriptions","organizations_url":"https://api.github.com/users/tbudurovych/orgs","repos_url":"https://api.github.com/users/tbudurovych/repos","events_url":"https://api.github.com/users/tbudurovych/events{/privacy}","received_events_url":"https://api.github.com/users/tbudurovych/received_events","type":"User","site_admin":false},"body":"поза типового джерела->поза типовим джерелом","created_at":"2016-04-03T18:12:26Z","updated_at":"2016-04-03T18:12:26Z","html_url":"https://github.com/progit/progit2-uk/pull/120#discussion_r58314667","pull_request_url":"https://api.github.com/repos/progit/progit2-uk/pulls/120","_links":{"self":{"href":"https://api.github.com/repos/progit/progit2-uk/pulls/comments/58314667"},"html":{"href":"https://github.com/progit/progit2-uk/pull/120#discussion_r58314667"},"pull_request":{"href":"https://api.github.com/repos/progit/progit2-uk/pulls/120"}}},"pull_request":{"url":"https://api.github.com/repos/progit/progit2-uk/pulls/120","id":53486161,"html_url":"https://github.com/progit/progit2-uk/pull/120","diff_url":"https://github.com/progit/progit2-uk/pull/120.diff","patch_url":"https://github.com/progit/progit2-uk/pull/120.patch","issue_url":"https://api.github.com/repos/progit/progit2-uk/issues/120","number":120,"state":"open","locked":false,"title":"Переклад book/C-git-commands/1-git-commands.asc","user":{"login":"hedrok","id":2914264,"avatar_url":"https://avatars.githubusercontent.com/u/2914264?v=3","gravatar_id":"","url":"https://api.github.com/users/hedrok","html_url":"https://github.com/hedrok","followers_url":"https://api.github.com/users/hedrok/followers","following_url":"https://api.github.com/users/hedrok/following{/other_user}","gists_url":"https://api.github.com/users/hedrok/gists{/gist_id}","starred_url":"https://api.github.com/users/hedrok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedrok/subscriptions","organizations_url":"https://api.github.com/users/hedrok/orgs","repos_url":"https://api.github.com/users/hedrok/repos","events_url":"https://api.github.com/users/hedrok/events{/privacy}","received_events_url":"https://api.github.com/users/hedrok/received_events","type":"User","site_admin":false},"body":"fix #63 ","created_at":"2015-12-12T21:36:03Z","updated_at":"2016-04-03T18:12:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e7dab521dfb14cd7504315a2ee7b7bc9df56afcb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/progit/progit2-uk/pulls/120/commits","review_comments_url":"https://api.github.com/repos/progit/progit2-uk/pulls/120/comments","review_comment_url":"https://api.github.com/repos/progit/progit2-uk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/progit/progit2-uk/issues/120/comments","statuses_url":"https://api.github.com/repos/progit/progit2-uk/statuses/6d7ee70e924b27584cdbb5992951d5086183f945","head":{"label":"hedrok:C-git-commands","ref":"C-git-commands","sha":"6d7ee70e924b27584cdbb5992951d5086183f945","user":{"login":"hedrok","id":2914264,"avatar_url":"https://avatars.githubusercontent.com/u/2914264?v=3","gravatar_id":"","url":"https://api.github.com/users/hedrok","html_url":"https://github.com/hedrok","followers_url":"https://api.github.com/users/hedrok/followers","following_url":"https://api.github.com/users/hedrok/following{/other_user}","gists_url":"https://api.github.com/users/hedrok/gists{/gist_id}","starred_url":"https://api.github.com/users/hedrok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedrok/subscriptions","organizations_url":"https://api.github.com/users/hedrok/orgs","repos_url":"https://api.github.com/users/hedrok/repos","events_url":"https://api.github.com/users/hedrok/events{/privacy}","received_events_url":"https://api.github.com/users/hedrok/received_events","type":"User","site_admin":false},"repo":{"id":41583410,"name":"progit2-uk","full_name":"hedrok/progit2-uk","owner":{"login":"hedrok","id":2914264,"avatar_url":"https://avatars.githubusercontent.com/u/2914264?v=3","gravatar_id":"","url":"https://api.github.com/users/hedrok","html_url":"https://github.com/hedrok","followers_url":"https://api.github.com/users/hedrok/followers","following_url":"https://api.github.com/users/hedrok/following{/other_user}","gists_url":"https://api.github.com/users/hedrok/gists{/gist_id}","starred_url":"https://api.github.com/users/hedrok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedrok/subscriptions","organizations_url":"https://api.github.com/users/hedrok/orgs","repos_url":"https://api.github.com/users/hedrok/repos","events_url":"https://api.github.com/users/hedrok/events{/privacy}","received_events_url":"https://api.github.com/users/hedrok/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hedrok/progit2-uk","description":"Ukrainian translation","fork":true,"url":"https://api.github.com/repos/hedrok/progit2-uk","forks_url":"https://api.github.com/repos/hedrok/progit2-uk/forks","keys_url":"https://api.github.com/repos/hedrok/progit2-uk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hedrok/progit2-uk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hedrok/progit2-uk/teams","hooks_url":"https://api.github.com/repos/hedrok/progit2-uk/hooks","issue_events_url":"https://api.github.com/repos/hedrok/progit2-uk/issues/events{/number}","events_url":"https://api.github.com/repos/hedrok/progit2-uk/events","assignees_url":"https://api.github.com/repos/hedrok/progit2-uk/assignees{/user}","branches_url":"https://api.github.com/repos/hedrok/progit2-uk/branches{/branch}","tags_url":"https://api.github.com/repos/hedrok/progit2-uk/tags","blobs_url":"https://api.github.com/repos/hedrok/progit2-uk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hedrok/progit2-uk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hedrok/progit2-uk/git/refs{/sha}","trees_url":"https://api.github.com/repos/hedrok/progit2-uk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hedrok/progit2-uk/statuses/{sha}","languages_url":"https://api.github.com/repos/hedrok/progit2-uk/languages","stargazers_url":"https://api.github.com/repos/hedrok/progit2-uk/stargazers","contributors_url":"https://api.github.com/repos/hedrok/progit2-uk/contributors","subscribers_url":"https://api.github.com/repos/hedrok/progit2-uk/subscribers","subscription_url":"https://api.github.com/repos/hedrok/progit2-uk/subscription","commits_url":"https://api.github.com/repos/hedrok/progit2-uk/commits{/sha}","git_commits_url":"https://api.github.com/repos/hedrok/progit2-uk/git/commits{/sha}","comments_url":"https://api.github.com/repos/hedrok/progit2-uk/comments{/number}","issue_comment_url":"https://api.github.com/repos/hedrok/progit2-uk/issues/comments{/number}","contents_url":"https://api.github.com/repos/hedrok/progit2-uk/contents/{+path}","compare_url":"https://api.github.com/repos/hedrok/progit2-uk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hedrok/progit2-uk/merges","archive_url":"https://api.github.com/repos/hedrok/progit2-uk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hedrok/progit2-uk/downloads","issues_url":"https://api.github.com/repos/hedrok/progit2-uk/issues{/number}","pulls_url":"https://api.github.com/repos/hedrok/progit2-uk/pulls{/number}","milestones_url":"https://api.github.com/repos/hedrok/progit2-uk/milestones{/number}","notifications_url":"https://api.github.com/repos/hedrok/progit2-uk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hedrok/progit2-uk/labels{/name}","releases_url":"https://api.github.com/repos/hedrok/progit2-uk/releases{/id}","deployments_url":"https://api.github.com/repos/hedrok/progit2-uk/deployments","created_at":"2015-08-29T06:36:15Z","updated_at":"2015-09-19T13:21:11Z","pushed_at":"2016-03-27T18:03:29Z","git_url":"git://github.com/hedrok/progit2-uk.git","ssh_url":"git@github.com:hedrok/progit2-uk.git","clone_url":"https://github.com/hedrok/progit2-uk.git","svn_url":"https://github.com/hedrok/progit2-uk","homepage":null,"size":167134,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"progit:master","ref":"master","sha":"9242f5291107d082ef76d861187a2383c85406e2","user":{"login":"progit","id":95588,"avatar_url":"https://avatars.githubusercontent.com/u/95588?v=3","gravatar_id":"","url":"https://api.github.com/users/progit","html_url":"https://github.com/progit","followers_url":"https://api.github.com/users/progit/followers","following_url":"https://api.github.com/users/progit/following{/other_user}","gists_url":"https://api.github.com/users/progit/gists{/gist_id}","starred_url":"https://api.github.com/users/progit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/progit/subscriptions","organizations_url":"https://api.github.com/users/progit/orgs","repos_url":"https://api.github.com/users/progit/repos","events_url":"https://api.github.com/users/progit/events{/privacy}","received_events_url":"https://api.github.com/users/progit/received_events","type":"Organization","site_admin":false},"repo":{"id":41450038,"name":"progit2-uk","full_name":"progit/progit2-uk","owner":{"login":"progit","id":95588,"avatar_url":"https://avatars.githubusercontent.com/u/95588?v=3","gravatar_id":"","url":"https://api.github.com/users/progit","html_url":"https://github.com/progit","followers_url":"https://api.github.com/users/progit/followers","following_url":"https://api.github.com/users/progit/following{/other_user}","gists_url":"https://api.github.com/users/progit/gists{/gist_id}","starred_url":"https://api.github.com/users/progit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/progit/subscriptions","organizations_url":"https://api.github.com/users/progit/orgs","repos_url":"https://api.github.com/users/progit/repos","events_url":"https://api.github.com/users/progit/events{/privacy}","received_events_url":"https://api.github.com/users/progit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/progit/progit2-uk","description":"Ukrainian translation","fork":false,"url":"https://api.github.com/repos/progit/progit2-uk","forks_url":"https://api.github.com/repos/progit/progit2-uk/forks","keys_url":"https://api.github.com/repos/progit/progit2-uk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/progit/progit2-uk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/progit/progit2-uk/teams","hooks_url":"https://api.github.com/repos/progit/progit2-uk/hooks","issue_events_url":"https://api.github.com/repos/progit/progit2-uk/issues/events{/number}","events_url":"https://api.github.com/repos/progit/progit2-uk/events","assignees_url":"https://api.github.com/repos/progit/progit2-uk/assignees{/user}","branches_url":"https://api.github.com/repos/progit/progit2-uk/branches{/branch}","tags_url":"https://api.github.com/repos/progit/progit2-uk/tags","blobs_url":"https://api.github.com/repos/progit/progit2-uk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/progit/progit2-uk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/progit/progit2-uk/git/refs{/sha}","trees_url":"https://api.github.com/repos/progit/progit2-uk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/progit/progit2-uk/statuses/{sha}","languages_url":"https://api.github.com/repos/progit/progit2-uk/languages","stargazers_url":"https://api.github.com/repos/progit/progit2-uk/stargazers","contributors_url":"https://api.github.com/repos/progit/progit2-uk/contributors","subscribers_url":"https://api.github.com/repos/progit/progit2-uk/subscribers","subscription_url":"https://api.github.com/repos/progit/progit2-uk/subscription","commits_url":"https://api.github.com/repos/progit/progit2-uk/commits{/sha}","git_commits_url":"https://api.github.com/repos/progit/progit2-uk/git/commits{/sha}","comments_url":"https://api.github.com/repos/progit/progit2-uk/comments{/number}","issue_comment_url":"https://api.github.com/repos/progit/progit2-uk/issues/comments{/number}","contents_url":"https://api.github.com/repos/progit/progit2-uk/contents/{+path}","compare_url":"https://api.github.com/repos/progit/progit2-uk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/progit/progit2-uk/merges","archive_url":"https://api.github.com/repos/progit/progit2-uk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/progit/progit2-uk/downloads","issues_url":"https://api.github.com/repos/progit/progit2-uk/issues{/number}","pulls_url":"https://api.github.com/repos/progit/progit2-uk/pulls{/number}","milestones_url":"https://api.github.com/repos/progit/progit2-uk/milestones{/number}","notifications_url":"https://api.github.com/repos/progit/progit2-uk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/progit/progit2-uk/labels{/name}","releases_url":"https://api.github.com/repos/progit/progit2-uk/releases{/id}","deployments_url":"https://api.github.com/repos/progit/progit2-uk/deployments","created_at":"2015-08-26T21:09:57Z","updated_at":"2016-03-27T20:28:39Z","pushed_at":"2016-03-27T18:18:00Z","git_url":"git://github.com/progit/progit2-uk.git","ssh_url":"git@github.com:progit/progit2-uk.git","clone_url":"https://github.com/progit/progit2-uk.git","svn_url":"https://github.com/progit/progit2-uk","homepage":null,"size":167136,"stargazers_count":6,"watchers_count":6,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":8,"forks":14,"open_issues":8,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/progit/progit2-uk/pulls/120"},"html":{"href":"https://github.com/progit/progit2-uk/pull/120"},"issue":{"href":"https://api.github.com/repos/progit/progit2-uk/issues/120"},"comments":{"href":"https://api.github.com/repos/progit/progit2-uk/issues/120/comments"},"review_comments":{"href":"https://api.github.com/repos/progit/progit2-uk/pulls/120/comments"},"review_comment":{"href":"https://api.github.com/repos/progit/progit2-uk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/progit/progit2-uk/pulls/120/commits"},"statuses":{"href":"https://api.github.com/repos/progit/progit2-uk/statuses/6d7ee70e924b27584cdbb5992951d5086183f945"}}}}