diff --git a/book/01-introduction/sections/about-version-control.asc b/book/01-introduction/sections/about-version-control.asc index 6970b8b..065ca8a 100644 --- a/book/01-introduction/sections/about-version-control.asc +++ b/book/01-introduction/sections/about-version-control.asc @@ -1,61 +1,61 @@ -=== About Version Control +=== Аб сістэме кантролю версій -(((version control))) -What is "`version control`", and why should you care? -Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. -For the examples in this book, you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer. +(((кантроль версій))) +Што такое «сістэма кантролю версій» і чаму гэта важна? +Сістэма кантролю версій -- гэта сістэма, якая запісвае змены ў файл або набор файлаў на працягу часу і якая дазваляе вярнуцца пазней да пэўнай версіі. +Для кантролю версій файлаў у гэтай кнізе ў якасці прыкладу будзе выкарыстоўвацца зыходны код праграмнага забеспячэння, хоць на самай справе вы можаце выкарыстоўваць кантроль версій амаль што для любых тыпаў файлаў. -If you are a graphic or web designer and want to keep every version of an image or layout (which you would most certainly want to), a Version Control System (VCS) is a very wise thing to use. -It allows you to revert selected files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more. -Using a VCS also generally means that if you screw things up or lose files, you can easily recover. -In addition, you get all this for very little overhead. +Калі вы графічны або web-дызайнер і хочаце захаваць кожную версію малюнка або макета (хутчэй за ўсё, захочаце), сістэма кантролю версій (далей СКВ) -- як раз тое, што трэба. +Яна дазваляе вярнуць файлы да стану, у якім яны былі да зменаў, вярнуць праект да зыходнага стану, убачыць змены, убачыць хто апошні нешта мяняў і выклікаў праблему, хто паставіў задачу і калі, а так сама многае іншае. +Выкарыстанне СКВ таксама значыць, што вы спакойна можаце ўсё выправіць калі страцілі файлы ці нешта зламалі. +У дадатак да ўсяго, вы атрымаеце ўсё гэта без якіх-небудзь дадатковых намаганняў. -==== Local Version Control Systems +==== Лакальныя сістэмы кантролю версій -(((version control,local))) -Many people's version-control method of choice is to copy files into another directory (perhaps a time-stamped directory, if they're clever). -This approach is very common because it is so simple, but it is also incredibly error prone. -It is easy to forget which directory you're in and accidentally write to the wrong file or copy over files you don't mean to. +(((кантроль версій,лакальны))) +Многія людзі ў якасці метаду кантролю версій ўжываюць капіраванне файлаў у асобны каталог (магчыма нават, каталог з адзнакай па часе, калі яны дастаткова кемлівыя). +Дадзены падыход вельмі распаўсюджаны з-за яго прастаты, аднак ён неверагодна моцна схільны з'яўленню памылак. +Можна лёгка забыцца у якім каталогу вы знаходзіцеся і выпадкова змяніць не той файл або скапіяваць не тыя файлы, якія вы хацелі. -To deal with this issue, programmers long ago developed local VCSs that had a simple database that kept all the changes to files under revision control. +Для таго, каб вырашыць гэтую праблему, праграмісты даўным-даўно распрацавалі лакальныя СКВ з простай базай дадзеных, якая захоўвае запісы аб усіх зменах у файлах, ажыццяўляючы тым самым кантроль рэвізій. -.Local version control -image::images/local.png[Local version control diagram] +.Лакальны кантроль версій +image::images/local.png["Дыяграма лакальнага кантролю версій"] -One of the most popular VCS tools was a system called RCS, which is still distributed with many computers today. -https://www.gnu.org/software/rcs/[RCS] works by keeping patch sets (that is, the differences between files) in a special format on disk; it can then re-create what any file looked like at any point in time by adding up all the patches. +Адной з папулярных СКВ была сістэма RCS, якая і сёння распаўсюджваецца з многімі кампутарамі. +https://www.gnu.org/software/rcs/[RCS] захоўвае на дыску наборы патчаў (адрозненняў паміж файламі) у спэцыяльным фармаце, ужываючы якія яна можа аднаўляць стан кожнага файла ў зададзены момант часу. -==== Centralized Version Control Systems +==== Цэнтралізаваныя сістэмы кантролю версій -(((version control,centralized))) -The next major issue that people encounter is that they need to collaborate with developers on other systems. -To deal with this problem, Centralized Version Control Systems (CVCSs) were developed. -These systems (such as CVS, Subversion, and Perforce) have a single server that contains all the versioned files, and a number of clients that check out files from that central place. (((CVS)))(((Subversion)))(((Perforce))) -For many years, this has been the standard for version control. +(((кантроль версій,цэнтралізаваны))) +Наступная сур'ёзная праблема, з якой сутыкаюцца людзі, -- гэта неабходнасць ўзаемадзейнічаць з іншымі распрацоўшчыкамі. +Для таго, каб разабрацца з ёй, былі распрацаваны цэнтралізаваныя сістэмы кантролю версій (ЦСКВ). +Такія сістэмы, як CVS, Subversion і Perforce, выкарыстоўваюць адзіны сервер, які змяшчае ўсе версіі файлаў, і некаторую колькасць кліентаў, якія атрымліваюць файлы з гэтага цэнтралізаванага сховішча. (((CVS)))(((Subversion)))(((Perforce))) +Прымяненне ЦСКВ з'яўлялася стандартам на працягу многіх гадоў. -.Centralized version control -image::images/centralized.png[Centralized version control diagram] +.Цэнтралізаваны кантроль версій +image::images/centralized.png["Дыяграма цэнтралізаванага кантролю версій"] -This setup offers many advantages, especially over local VCSs. -For example, everyone knows to a certain degree what everyone else on the project is doing. -Administrators have fine-grained control over who can do what, and it's far easier to administer a CVCS than it is to deal with local databases on every client. +Такі падыход мае мноства пераваг, асабліва перад лакальнымі СКВ. +Напрыклад, усе распрацоўшчыкі праекта ў пэўнай ступені ведаюць, чым займаецца кожны з іх. +Адміністратары маюць поўны кантроль над тым, хто і што можа рабіць, і значна прасцей адміністраваць ЦСКВ, чым апераваць лакальнымі базамі дадзеных на кожным кліенце. -However, this setup also has some serious downsides. -The most obvious is the single point of failure that the centralized server represents. -If that server goes down for an hour, then during that hour nobody can collaborate at all or save versioned changes to anything they're working on. -If the hard disk the central database is on becomes corrupted, and proper backups haven't been kept, you lose absolutely everything -- the entire history of the project except whatever single snapshots people happen to have on their local machines. -Local VCSs suffer from this same problem -- whenever you have the entire history of the project in a single place, you risk losing everything. +Нягледзячы на ​​гэта, дадзены падыход таксама мае сур'ёзныя мінусы. +Самы відавочны мінус -- гэта адзіная кропка адмовы, прадстаўленая цэнтралізаваным серверам. +Калі гэты сервер выйдзе са строю на гадзіну, то на працягу гэтага часу ніхто не зможа выкарыстоўваць кантроль версій для захавання змяненняў, над якімі працуе, а таксама ніхто не зможа абменьвацца гэтымі зменамі з іншымі распрацоўшчыкамі. +Калі жорсткі дыск, на якім захоўваецца цэнтральная БД, пашкоджаны, а своечасовыя бэкапы адсутнічаюць, вы страціце ўсё -- усю гісторыю праекта, не лічачы адзінкавых здымкаў рэпазітара, якія захаваліся на лакальных машынах распрацоўшчыкаў. +Лакальныя СКВ пакутуюць ад той жа самай праблемы: калі ўся гісторыя праекта захоўваецца ў адным месцы, вы рызыкуеце страціць усё. -==== Distributed Version Control Systems +==== Размеркаваныя сістэмы кантролю версій -(((version control,distributed))) -This is where Distributed Version Control Systems (DVCSs) step in. -In a DVCS (such as Git, Mercurial, Bazaar or Darcs), clients don't just check out the latest snapshot of the files; rather, they fully mirror the repository, including its full history. -Thus, if any server dies, and these systems were collaborating via that server, any of the client repositories can be copied back up to the server to restore it. -Every clone is really a full backup of all the data. +(((кантроль версій,размеркаваны))) +Тут у гульню ўступаюць размеркаваныя сістэмы кантролю версій (РСКВ). +У РСКВ (такіх як Git, Mercurial, Bazaar або Darcs) кліенты не проста запампоўваюць здымак ўсіх файлаў (стан файлаў на пэўны момант часу) -- яны цалкам капіююць рэпазітар. +У гэтым выпадку, калі адзін з сервераў, праз які распрацоўшчыкі абменьваліся дадзенымі, памрэ, любы кліенцкі рэпазітар можа быць скапіяваны на іншы сервер каб не спынять працу. +Кожная копія рэпазітара з'яўляецца поўным бэкапам ўсіх дадзеных. -.Distributed version control -image::images/distributed.png[Distributed version control diagram] +.Размеркаваны кантроль версій +image::images/distributed.png["Дыяграма размеркаванага кантролю версій"] -Furthermore, many of these systems deal pretty well with having several remote repositories they can work with, so you can collaborate with different groups of people in different ways simultaneously within the same project. -This allows you to set up several types of workflows that aren't possible in centralized systems, such as hierarchical models. +Больш за тое, многія РСКВ могуць адначасова ўзаемадзейнічаць з некалькімі выдаленымі рэпазітарамі, дзякуючы гэтаму вы можаце працаваць з рознымі групамі людзей, ужываючы розныя падыходы адначасова ў рамках аднаго праекта. +Гэта дазваляе ўжываць адразу некалькі падыходаў у распрацоўцы, напрыклад, іерархічныя мадэлі, што цалкам немагчыма ў цэнтралізаваных сістэмах. diff --git a/book/01-introduction/sections/command-line.asc b/book/01-introduction/sections/command-line.asc index e7fd185..6efa480 100644 --- a/book/01-introduction/sections/command-line.asc +++ b/book/01-introduction/sections/command-line.asc @@ -1,11 +1,11 @@ -=== The Command Line +=== Камандны радок -There are a lot of different ways to use Git. -There are the original command-line tools, and there are many graphical user interfaces of varying capabilities. -For this book, we will be using Git on the command line. -For one, the command line is the only place you can run _all_ Git commands -- most of the GUIs implement only a partial subset of Git functionality for simplicity. -If you know how to run the command-line version, you can probably also figure out how to run the GUI version, while the opposite is not necessarily true. -Also, while your choice of graphical client is a matter of personal taste, _all_ users will have the command-line tools installed and available. +Ёсць шмат розных спосабаў выкарыстання Git. +Акрамя арыгінальнага кліента, які мае інтэрфейс каманднага радка, існуе мноства кліентаў з графічным карыстацкім інтэрфейсам, у той ці іншай ступені рэалізуюць функцыянальнасць Git. +У рамках дадзенай кнігі мы будзем выкарыстоўваць Git у камандным радку. +З аднаго боку, камандны радок -- гэта адзінае месца, дзе вы можаце запусціць *усе* каманды Git, так як большасць кліентаў з графічным інтэрфейсам рэалізуюць для прастаты толькі некаторую частку функцыянальнасці Git. +Калі вы ведаеце, як выканаць якое-небудзь дзеянне ў камандным радку, вы, верагодна, зможаце высветліць, як тое ж самае зрабіць і ў GUI-версіі, а вось адваротнае не заўсёды дакладна. +Акрамя таго, у той час, як выбар графічнага кліента -- гэта справа асабістага густу, інструменты каманднага радка даступныя _ўсім_ карыстальнікам адразу пасля ўстаноўкі Git. -So we will expect you to know how to open Terminal in macOS or Command Prompt or PowerShell in Windows. -If you don't know what we're talking about here, you may need to stop and research that quickly so that you can follow the rest of the examples and descriptions in this book. +Таму мы мяркуем, што вы ведаеце, як адкрыць тэрмінал у Mac або камандны радок, або Powershell у Windows. +Калі вам не зразумела, пра што мы тут гаворым, то вам, магчыма, давядзецца ненадоўга перапыніцца і вывучыць гэтыя пытанні, каб вы маглі разумець прыклады і тлумачэння з гэтай кнігі. diff --git a/book/01-introduction/sections/first-time-setup.asc b/book/01-introduction/sections/first-time-setup.asc index 4f5e29e..19db986 100644 --- a/book/01-introduction/sections/first-time-setup.asc +++ b/book/01-introduction/sections/first-time-setup.asc @@ -1,41 +1,42 @@ [[_first_time]] -=== First-Time Git Setup +=== Першапачатковая настройка Git -Now that you have Git on your system, you'll want to do a few things to customize your Git environment. -You should have to do these things only once on any given computer; they'll stick around between upgrades. -You can also change them at any time by running through the commands again. +Цяпер, калі Git усталяваны ў вашай сістэме, самы час наладзіць сераду для працы з Git пад сябе. +Гэта трэба зрабіць толькі адзін раз -- пры абнаўленні версіі Git налады захаваюцца. +Але, пры неабходнасці, вы можаце памяняць іх у любы момант, выканаўшы тыя ж каманды зноў. -Git comes with a tool called `git config` that lets you get and set configuration variables that control all aspects of how Git looks and operates.(((git commands, config))) -These variables can be stored in three different places: +У склад Git уваходзіць утыліта `git config`, якая дазваляе праглядаць і наладжваць параметры, якія кантралююць усе аспекты працы Git, а таксама яго знешні выгляд. +(((каманды git, config))) +Гэтыя параметры могуць быць захаваны ў трох месцах: -1. `[path]/etc/gitconfig` file: Contains values applied to every user on the system and all their repositories. - If you pass the option `--system` to `git config`, it reads and writes from this file specifically. - Because this is a system configuration file, you would need administrative or superuser privilege to make changes to it. -2. `~/.gitconfig` or `~/.config/git/config` file: Values specific personally to you, the user. - You can make Git read and write to this file specifically by passing the `--global` option, and this affects _all_ of the repositories you work with on your system. -3. `config` file in the Git directory (that is, `.git/config`) of whatever repository you're currently using: Specific to that single repository. - You can force Git to read from and write to this file with the `--local` option, but that is in fact the default. - Unsurprisingly, you need to be located somewhere in a Git repository for this option to work properly. +1. Файл `[path]/etc/gitconfig` змяшчае значэння, агульныя для ўсіх карыстальнікаў сістэмы і для ўсіх іх рэпазітароў. + Если при запуске `git config` указать параметр `--system`, то параметры будут читаться и сохраняться именно в этот файл. + Вам спатрэбяцца правы суперкарыстальника для ўнясення змяненняў у яго, бо гэты файл з'яўляецца сістэмным. +2. Файл `~/.gitconfig` або `~/.config/git/config` захоўвае налады канкрэтнага карыстальніка. + Гэты файл выкарыстоўваецца пры ўказанні параметра `--global` і прымяняецца да _ўсіх_ рэпазітароў, з якімі вы працуеце ў бягучай сістэме. +3. Файл `config` у каталогу Git (`.git/config`) рэпазітара, які вы выкарыстоўваеце ў дадзены момант, захоўвае налады канкрэтнага рэпазітара. + Вы можаце прымусіць Git чытаць і пісаць у гэты файл з дапамогай параметру --local, але на самой справе гэта значэнне па змаўчанні. + Нядзіўна, што вам трэба знаходзіцца дзесьці ў рэпазітары Git, каб гэтая опцыя працавала правільна. -Each level overrides values in the previous level, so values in `.git/config` trump those in `[path]/etc/gitconfig`. +Налады на кожным наступным узроўні падмяняюць налады з папярэдніх узроўняў, гэта значыць, што значэння ў `.git/config` перакрываюць адпаведныя значэння ў `[path]/etc/gitconfig`. -On Windows systems, Git looks for the `.gitconfig` file in the `$HOME` directory (`C:\Users\$USER` for most people). -It also still looks for `[path]/etc/gitconfig`, although it's relative to the MSys root, which is wherever you decide to install Git on your Windows system when you run the installer. -If you are using version 2.x or later of Git for Windows, there is also a system-level config file at -`C:\Documents and Settings\All Users\Application Data\Git\config` on Windows XP, and in `C:\ProgramData\Git\config` on Windows Vista and newer. -This config file can only be changed by `git config -f ` as an admin. +У сістэмах сямейства Windows Git шукае файл `.gitconfig` ў каталогу `$HOME` ( `C:\Users\$USER` для большасці карыстальнікаў). +Акрамя таго, Git шукае файл `[path]/etc/gitconfig`, але ўжо адносна каранёвага каталога MSys, які знаходзіцца там, куды вы вырашылі ўсталяваць Git пры запуску ўсталёўніка. -You can view all of your settings and where they are coming from using: +Калі вы выкарыстоўваеце Git для Windows версіі 2.х або навей, то гэтак жа апрацоўваецца файл канфігурацыі ўзроўню сістэмы, які мае шлях `C:\Documents and Settings\All Users\Application Data\Git\config` у Windows XP або `C:\ProgramData\Git\config` у Windows Vista і навей. +Гэты файл можа быць зьменены толькі камандай `git config -f `, запушчанай з правамі адміністратара. + +Каб паглядзець усе ўстаноўленыя налады і даведацца дзе менавіта яны зададзены, выкарыстоўвайце каманду: [source,console] ---- $ git config --list --show-origin ---- -==== Your Identity +==== Ваша Асоба -The first thing you should do when you install Git is to set your user name and email address. -This is important because every Git commit uses this information, and it's immutably baked into the commits you start creating: +Першае, што вам варта зрабіць пасля ўстаноўкі Git -- пазначыць ваша імя і адрас электроннай пошты. +Гэта важна, таму што кожны каміт у Git змяшчае гэтую інфармацыю, і яна ўключана ў каміты, якія вы перадаяцё, і не можа быць далей зменена: [source,console] ---- @@ -43,29 +44,28 @@ $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com ---- -Again, you need to do this only once if you pass the `--global` option, because then Git will always use that information for anything you do on that system. -If you want to override this with a different name or email address for specific projects, you can run the command without the `--global` option when you're in that project. +Зноў жа, калі выкарыстоўваецца опцыя `--global`, то гэтыя налады досыць зрабіць толькі адзін раз, паколькі ў гэтым выпадку Git будзе выкарыстоўваць гэтыя налады для ўсяго, што вы робіце ў гэтай сістэме. +Калі для нейкіх асобных праектаў вы хочаце вызначыць іншую назву ці электронную пошту, можна выканаць гэтую ж каманду без параметра `--global` у каталогу з патрэбным праектам. -Many of the GUI tools will help you do this when you first run them. +Многія GUI-інструменты прапануюць зрабіць гэта пры першым запуску. [[_editor]] -==== Your Editor - -Now that your identity is set up, you can configure the default text editor that will be used when Git needs you to type in a message. -If not configured, Git uses your system's default editor. +==== Выбар рэактара -If you want to use a different text editor, such as Emacs, you can do the following: +Цяпер, калі вы задалі сваё імя, самы час выбраць тэкставы рэдактар, які будзе выкарыстоўвацца калі патрэбна набраць паведамленне ў Git. +Па змаўчанні, Git выкарыстоўвае стандартны рэдактар вашай сістэмы, якім звычайна з'яўляецца Vim. +Калі вы хочаце карыстацца іншым тэкставым рэдактарам, напрыклад, Emacs, можна зрабіць наступнае: [source,console] ---- $ git config --global core.editor emacs ---- -On a Windows system, if you want to use a different text editor, you must specify the full path to its executable file. -This can be different depending on how your editor is packaged. +У сістэме Windows варта паказваць поўны шлях да выконваемага файла пры ўсталёўцы іншага тэкставага рэдактара па змаўчанні. +Шляхі могуць адрознівацца ў залежнасці ад таго, як працуе ўсталёўнік. -In the case of Notepad++, a popular programming editor, you are likely to want to use the 32-bit version, since at the time of writing the 64-bit version doesn't support all plug-ins. -If you are on a 32-bit Windows system, or you have a 64-bit editor on a 64-bit system, you'll type something like this: +У выпадку з Notepad++, папулярным рэдактарам, хутчэй за ўсё вы захочаце ўсталяваць 32-бітную версію, так як 64-бітная версія яшчэ не падтрымлівае ўсе ўбудовы. +Калі ў вас 32-бітная Windows або 64-бітны рэдактар з 64-бітнай сістэмай, то выканайце наступнае: [source,console] ---- @@ -74,31 +74,31 @@ $ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -m [NOTE] ==== -Vim, Emacs and Notepad++ are popular text editors often used by developers on Unix-based systems like Linux and macOS or a Windows system. -If you are using another editor, or a 32-bit version, please find specific instructions for how to set up your favorite editor with Git in <>. +Vim, Emacs і Notepad++ -- папулярныя тэкставыя рэдактары, якія часта выкарыстоўваюцца распрацоўшчыкамі як у Unix-падобных сістэмах, такіх як Linux і Mac, так і ў Windows. +Калі вы карыстаецеся іншым рэдактарам або яго 32-бітнай версіяй, то звярніцеся да падзелу << C-git-commands#r_core_editor >> за дадатковымі інструкцыямі як выкарыстоўваць яго сумесна з Git. ==== [WARNING] ==== -You may find, if you don't setup your editor like this, you get into a really confusing state when Git attempts to launch it. -An example on a Windows system may include a prematurely terminated Git operation during a Git initiated edit. +У выпадку, калі вы не ўсталявалі свой рэдактар і не знаёмы з Vim ці Emacs, вы можаце патрапіць у цяжкае становішча, калі які-небудзь з іх будзе запушчаны. +Напрыклад, у Windows можа адбыцца заўчаснае перапыненне каманды Git пры спробе выкліку рэдактара. ==== -==== Your default branch name +==== Настройка ветки по умолчанию -By default Git will create a branch called _master_ when you create a new repository with `git init`. -From Git version 2.28 onwards, you can set a different name for the initial branch. +Калі вы ініцыялізуеце рэпазітар камандай `git init`, Git стварае галіну з імем _master_ па змаўчанні. +Пачынаючы з версіі 2.28, вы можаце задаць іншае імя для стварэння галіны па змаўчанні. -To set _main_ as the default branch name do: +Напрыклад, каб усталяваць імя _main_ для вашай галіны па змаўчанні, запусціце наступную каманду: [source,console] ---- $ git config --global init.defaultBranch main ---- -==== Checking Your Settings +==== Проверка настроек -If you want to check your configuration settings, you can use the `git config --list` command to list all the settings Git can find at that point: +Калі вы хочаце праверыць свае налады канфігурацыі, вы можаце выкарыстоўваць каманду `git config --list`, каб пералічыць усе налады, якія Git можа знайсці ў бягучым мейсцы: [source,console] ---- @@ -112,10 +112,10 @@ color.diff=auto ... ---- -You may see keys more than once, because Git reads the same key from different files (`[path]/etc/gitconfig` and `~/.gitconfig`, for example). -In this case, Git uses the last value for each unique key it sees. +Некаторыя ключы (назвы) налад могуць быць паказаны некалькі разоў, таму што Git чытае налады з розных файлаў (напрыклад, з `/etc/gitconfig` і `~/.gitconfig`). +У такім выпадку Git выкарыстоўвае апошняе значэнне для кожнага ключа. -You can also check what Git thinks a specific key's value is by typing `git config `:(((git commands, config))) +Таксама вы можаце праверыць значэнне канкрэтнага ключа, выканаўшы `git config `:(((команды git, config))) [source,console] ---- @@ -125,8 +125,9 @@ John Doe [NOTE] ==== -Since Git might read the same configuration variable value from more than one file, it's possible that you have an unexpected value for one of these values and you don't know why. -In cases like that, you can query Git as to the _origin_ for that value, and it will tell you which configuration file had the final say in setting that value: +Git чытае значэнні налад з некалькіх файлаў, таму магчыма сітуацыя калі Git выкарыстае не тое значэнне што вы чакалі. +У такім выпадку вы можаце спытаць Git аб _origin_ гэтага значэння. +Git выведзе імя файла, з якога значэнне для налады было ўзята апошнім: [source,console] ---- diff --git a/book/01-introduction/sections/help.asc b/book/01-introduction/sections/help.asc index 731ea5f..b10b75f 100644 --- a/book/01-introduction/sections/help.asc +++ b/book/01-introduction/sections/help.asc @@ -1,27 +1,27 @@ [[_git_help]] -=== Getting Help +=== Атрыманне дапамогі -If you ever need help while using Git, there are three equivalent ways to get the comprehensive manual page (manpage) help for any of the Git commands: +Калі вам спатрэбіцца дапамога ў выкарыстанні Git, то існуе тры аднолькавых спосабы адчыніць старонку кіраўніцтва па любой з каманд Git: -[source,console] +source,console] ---- -$ git help -$ git --help -$ man git- +$ git help <каманда> +$ git <каманда> --help +$ man git-<каманда> ---- -For example, you can get the manpage help for the `git config` command by running this:(((git commands, help))) +Напрылад, так можна адкрыць кіраўнцтва па камандзе `git config` (((каманды git, help))) [source,console] ---- $ git help config ---- -These commands are nice because you can access them anywhere, even offline. -If the manpages and this book aren't enough and you need in-person help, you can try the `#git` or `#github` channel on the Freenode IRC server, which can be found at https://freenode.net[]. -These channels are regularly filled with hundreds of people who are all very knowledgeable about Git and are often willing to help.(((IRC))) +Гэтыя каманды добрыя тым, што імі можна карыстацца заўсёды, нават без подключэння да сеткі. +Калі кіраўніцтва і гэтай кнігі вам недастаткова і вам патрэбна персанальная дапамога, вы можаце паспрабаваць пашукаць яе на IRC каналах `#git` и `#github` сервера Freenode, які даступны па адрасе https://freenode.net[]. +Звычайна там сотні людзей, якія выдатна ведаюць Git и здольны дапамагчы.(((IRC))) -In addition, if you don't need the full-blown manpage help, but just need a quick refresher on the available options for a Git command, you can ask for the more concise "`help`" output with the `-h` option, as in: +Таксама, калі вам патрэбна паглядзець толькі спіс опцый і вы не жадаеце чытаць поўную дакументацыю па камандзе, вы можаце карыстацца опцыяй `-h` для высновы кароткай даведкі: [source,console] ---- @@ -44,5 +44,4 @@ usage: git add [] [--] ... --ignore-errors just skip files which cannot be added because of errors --ignore-missing check if - even missing - files are ignored in dry run --chmod (+|-)x override the executable bit of the listed files ----- - +---- \ No newline at end of file diff --git a/book/01-introduction/sections/history.asc b/book/01-introduction/sections/history.asc index dd1d096..c6e7ddc 100644 --- a/book/01-introduction/sections/history.asc +++ b/book/01-introduction/sections/history.asc @@ -1,20 +1,20 @@ -=== A Short History of Git +=== Кароткая гісторыя Git -As with many great things in life, Git began with a bit of creative destruction and fiery controversy. +Як і многія рэчы у жыцці, Git пачынаўся з кропелькай творчага хаосу і бурных спрэчак. -The Linux kernel is an open source software project of fairly large scope.(((Linux))) -For most of the lifetime of the Linux kernel maintenance (1991–2002), changes to the software were passed around as patches and archived files. -In 2002, the Linux kernel project began using a proprietary DVCS called BitKeeper.(((BitKeeper))) +Ядро Linux -- гэта досыць вялікі праект з адчыненным зыходным кодам.(((Linux))) +Большую частку часу распрацоўкі ядра Linux (1991–2002 гг.) змены перадаваліся паміж распрацоўшчыкамі ў выглядзе патчаў і архіваў. +У 2002 годзе праект ядра Linux пачаў выкарыстоўваць прапрыетарную дэцэнтралізаваную СКВ BitKeeper.(((BitKeeper))) -In 2005, the relationship between the community that developed the Linux kernel and the commercial company that developed BitKeeper broke down, and the tool's free-of-charge status was revoked. -This prompted the Linux development community (and in particular Linus Torvalds, the creator of Linux) to develop their own tool based on some of the lessons they learned while using BitKeeper.(((Linus Torvalds))) -Some of the goals of the new system were as follows: +У 2005 годзе адносіны паміж супольнасцю распрацоўшчыкаў ядра Linux і камерцыйнай кампаніяй, якая распрацоўвала BitKeeper, спыніліся, і бясплатнае выкарыстанне ўтыліты стала немагчымым. +Гэта падштурхнула супольнасць распрацоўнікаў ядра Linux (а ў прыватнасці Лінуса Торвальдса -- стваральніка Linux) распрацаваць сваю ўласную ўтыліту, улічваючы ўрокі, атрыманыя пры выкарыстанні BitKeeper.(((Лінус Торвальдс))) +Некаторымі мэтамі, якія пераследавала новая сістэма, былі: -* Speed -* Simple design -* Strong support for non-linear development (thousands of parallel branches) -* Fully distributed -* Able to handle large projects like the Linux kernel efficiently (speed and data size) +* Хуткасць +* Простая архітэктура +* Добрая падтрымка нелінейнай распрацоўкі (тысячы паралельных галінак) +* Поўная дэцэнтралізацыя +* Магчымасць эфектыўнага кіравання вялікімі праектамі, такімі як ядро ​​Linux (хуткасць і памер дадзеных) -Since its birth in 2005, Git has evolved and matured to be easy to use and yet retain these initial qualities. -It's amazingly fast, it's very efficient with large projects, and it has an incredible branching system for non-linear development (See <>). +З моманту сваяго з'яўлення ў 2005 годзе, Git развіўся ў простую ў выкарыстанні сістэму, захаваўшы пры гэтым свае першапачатковыя якасці. +Ён дзіўна хуткі, эфектыўны ў працы з вялікімі праектамі і мае цудоўную сістэму галінак для нелінейнай распрацоўкі (гл. раздзел <>). diff --git a/book/01-introduction/sections/installing.asc b/book/01-introduction/sections/installing.asc index b400cfc..d138072 100644 --- a/book/01-introduction/sections/installing.asc +++ b/book/01-introduction/sections/installing.asc @@ -1,83 +1,72 @@ -=== Installing Git +=== Усталяванне Git -Before you start using Git, you have to make it available on your computer. -Even if it's already installed, it's probably a good idea to update to the latest version. -You can either install it as a package or via another installer, or download the source code and compile it yourself. +Перш чым пачаць карыстацца Git, вы павінны усталяваць яго на свім кампутары. +Нават калі ён ужо усталяваны, напэўна, гэта добрая нагода, каб абнавіцца да апошняй версіі. +Вы можаце ўсталяваць Git з сабранага пакета ці іншага ўсталёўніка, альбо спампаваць зыходны код і скампіляваць яго самастойна. [NOTE] ==== -This book was written using Git version *2.8.0*. -Though most of the commands we use should work even in ancient versions of Git, some of them might not or might act slightly differently if you're using an older version. -Since Git is quite excellent at preserving backwards compatibility, any version after 2.8 should work just fine. +У гэтай кнізе выкарыстоўваецца Git версіі *2.8.0*. +Хоць большасць з каманд павінны працаваць нават і ў старых версіях Git, аднак некаторыя з іх могуць не працаваць ці дзейнічаць крыху інакш, калі вы выкарыстоўваеце старую версію. +Паколькі Git выдатна спраўляецца з захаваннем зваротнай сумяшчальнасці, любая версія пасля 2.8 павінна працаваць нармальна. ==== -==== Installing on Linux +==== Усталяванне на Linux -(((Linux, installing))) -If you want to install the basic Git tools on Linux via a binary installer, you can generally do so through the package management tool that comes with your distribution. -If you're on Fedora (or any closely-related RPM-based distribution, such as RHEL or CentOS), you can use `dnf`: +(((Linux, установка))) +Калі вы жадаеце ўсталявать Git на Linux як бінарны пакет, то зрабіть гэта можна выкарыстоўваючы звычайны мэнэджар паектаў вашага дыстрыбутыва. +Калі ў вас Fedora (ці іншы падобны дыстрыбутыў, напрыклад, RHEL ці CentOS), то можна скарыстаць `dnf`: [source,console] ---- $ sudo dnf install git-all ---- -If you're on a Debian-based distribution, such as Ubuntu, try `apt`: +Калі ж у вас дыстрыбутыў, заснаваны на Debian, напрыклад, Ubuntu, паспрабуйце `apt`: [source,console] ---- -$ sudo apt install git-all +$ sudo apt install git ---- -For more options, there are instructions for installing on several different Unix distributions on the Git website, at https://git-scm.com/download/linux[]. +Каб скарыстацца дадатковымі магчымасцямі, паглядзіце інструкцыю па ўсталяванню для некалькіх розных разнавіднасцяў Unix на сайце Git. https://git-scm.com/download/linux[]. -==== Installing on macOS - -(((macOS, installing))) -There are several ways to install Git on a Mac. -The easiest is probably to install the Xcode Command Line Tools.(((Xcode))) -On Mavericks (10.9) or above you can do this simply by trying to run `git` from the Terminal the very first time. +==== Усталяванне на Mac +(((Mac, установка))) +Існуе некалькі спосабаў усталявання Git на Mac. +Самы просты -- усталяваць Xcode Command Line Tools.(((Xcode))) +У версіі Mavericks (10.9) і вышэй вы можаце дамагчыся гэтага проста першы раз выканаўшы 'git' у тэрмінале. [source,console] ---- $ git --version ---- -If you don't have it installed already, it will prompt you to install it. - -If you want a more up to date version, you can also install it via a binary installer. -A macOS Git installer is maintained and available for download at the Git website, at https://git-scm.com/download/mac[]. +Калі Git не ўсталяваны, вам будзе прапанавана яго ўсталяваць. -.Git macOS Installer -image::images/git-osx-installer.png[Git macOS installer] +Калі Вы жадаеце атрымаць больш актуальную версію, то можаце скарыстацца бінарным усталёўшчыкам. +Усталёўшчык Git для OS X даступны для запампоўкі з сайта Git https://git-scm.com/download/mac[]. -You can also install it as part of the GitHub for macOS install. -Their GUI Git tool has an option to install command line tools as well. -You can download that tool from the GitHub for macOS website, at https://desktop.github.com[]. +.OS X усталёўшчык Git +image::images/git-osx-installer.png["OS X усталёўшчык Git"] -==== Installing on Windows +==== Усталяванне на Windows -There are also a few ways to install Git on Windows.(((Windows, installing))) -The most official build is available for download on the Git website. -Just go to https://git-scm.com/download/win[] and the download will start automatically. -Note that this is a project called Git for Windows, which is separate from Git itself; for more information on it, go to https://gitforwindows.org[]. +Для усталявання Git на Windows таксама маецца некалькі спосабаў.(((Windows, усталяванне))) +Афіцыйная зборка даступна для спампоўкі на афіцыйным сайце Git. +Проста перайдзіце на старонку https://git-scm.com/download/win[] і загрузка запусціцца аўтаматычна. +Звярніце ўвагу, што гэта асобны праект, званы Git для Windows; для атрымання дадатковай інфармацыі аб ім перайдзіце на https://gitforwindows.org[]. -To get an automated installation you can use the https://chocolatey.org/packages/git[Git Chocolatey package]. -Note that the Chocolatey package is community maintained. +Для аўтаматычнай усталёўкі вы можаце выкарыстоўваць https://chocolatey.org/packages/git[пакет Git Chocolatey]. +Звярніце ўвагу, што пакет Chocolatey падтрымліваецца супольнасцю. -Another easy way to get Git installed is by installing GitHub Desktop. -The installer includes a command line version of Git as well as the GUI. -It also works well with PowerShell, and sets up solid credential caching and sane CRLF settings.(((PowerShell)))(((CRLF)))(((credential caching))) -We'll learn more about those things a little later, but suffice it to say they're things you want. -You can download this from the https://desktop.github.com[GitHub Desktop website]. +==== Усталяванне з зыходнікаў -==== Installing from Source +Многія аддаюць перавагу ўсталяванню Git з зыходнікаў, паколькі такі спосаб дазваляе атрымаць самую свежую версію. +Абнаўленне бінарных усталёўнікаў, як правіла, трохі адстае, хоць у апошні час розніца і не вялікая. -Some people may instead find it useful to install Git from source, because you'll get the most recent version. -The binary installers tend to be a bit behind, though as Git has matured in recent years, this has made less of a difference. - -If you do want to install Git from source, you need to have the following libraries that Git depends on: autotools, curl, zlib, openssl, expat, and libiconv. -For example, if you're on a system that has `dnf` (such as Fedora) or `apt-get` (such as a Debian-based system), you can use one of these commands to install the minimal dependencies for compiling and installing the Git binaries: +Калі вы сапраўды жадаеце ўсталяваць Git з зыходнікаў, у вас павінны быць усталяваныя наступныя бібліятэкі, ад якіх ён залежыць: autotools, curl, zlib, openssl, expat і libiconv. +Напрыклад, калі ў вашай сістэме выкарыстоўваецца `dnf` (Fedora) ці `apt-get` (сістэмы на базе Debian), вы можаце выкарыстоўваць адну з наступных каманд для ўсталёўкі ўсіх залежнасцяў для зборкі і ўсталявання бінарных файлаў Git: [source,console] ---- @@ -87,7 +76,7 @@ $ sudo apt-get install dh-autoreconf libcurl4-gnutls-dev libexpat1-dev \ gettext libz-dev libssl-dev ---- -In order to be able to add the documentation in various formats (doc, html, info), these additional dependencies are required: +Каб сабраць дакументацыю (падтрімліваюцца розныя фарматы: doc, html, info), спатрэбіцца ўсталяваць дадатковыя залежнасці: [source,console] ---- @@ -97,37 +86,35 @@ $ sudo apt-get install asciidoc xmlto docbook2x [NOTE] ==== -Users of RHEL and RHEL-derivatives like CentOS and Scientific Linux will have to https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F[enable the EPEL repository] to download the `docbook2X` package. +Карыстальнікі RHEL і вытворных ад яе (такіх як CentOS або Scientific Linux) павінны https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F[падключыць рэпазітар EPEL] для карэктнай усталёўкі пакета `docbook2X` ==== -If you're using a Debian-based distribution (Debian/Ubuntu/Ubuntu-derivatives), you also need the `install-info` package: +Калі вы карыстуецеся сістэмай на базе Debian (Debian/Ubuntu/Ubuntu-вытворныя), вам таксама спатрэбіцца ўсталяваць пакет `install-info`: [source,console] ---- $ sudo apt-get install install-info ---- -If you're using a RPM-based distribution (Fedora/RHEL/RHEL-derivatives), you also need the `getopt` package (which is already installed on a Debian-based distro): +Калі вы карыстуецеся сістэмай на базе RPM (Fedora/RHEL/RHEL-вытворныя), вам таксама спатрэбіцца ўсталяваць пакет `getopt`, які ўжо ўсталяваны ў сістэмах на базе Debian: [source,console] ---- $ sudo dnf install getopt ---- -Additionally, if you're using Fedora/RHEL/RHEL-derivatives, you need to do this: +Дадаткова, з-за адрозненняў імёнаў бінарных файлаў вам спатрэбіцца зрабіць наступнае: [source,console] ---- $ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi ---- -due to binary name differences. - -When you have all the necessary dependencies, you can go ahead and grab the latest tagged release tarball from several places. -You can get it via the kernel.org site, at https://www.kernel.org/pub/software/scm/git[], or the mirror on the GitHub website, at https://github.com/git/git/releases[]. -It's generally a little clearer what the latest version is on the GitHub page, but the kernel.org page also has release signatures if you want to verify your download. +Калі ўсе неабходныя залежнасці ўстаноўлены, вы можаце пайсці далей і спампаваць самы свежы архіў з зыходнікамі з наступных месцаў: +з сайта Kernel.org https://www.kernel.org/pub/software/scm/git[], ці люстэрка на сайце GitHub https://github.com/git/git/releases[]. +Вядома, крыху прасцей спампаваць апошнюю версію з сайта GitHub, але на старонцы kernel.org рэлізы маюць подпісы, калі вы хочаце праверыць, што спампоўваеце. -Then, compile and install: +Затым скампілюйце і ўсталюйце: [source,console] ---- @@ -139,7 +126,7 @@ $ make all doc info $ sudo make install install-doc install-html install-info ---- -After this is done, you can also get Git via Git itself for updates: +Пасля гэтага вы можаце атрымліваць абнаўленні Git з дапамогай самога Git: [source,console] ---- diff --git a/ch01-getting-started.asc b/ch01-getting-started.asc index ef1f4ba..bb913cc 100644 --- a/ch01-getting-started.asc +++ b/ch01-getting-started.asc @@ -1,9 +1,9 @@ [[ch01-getting-started]] == Першыя крокі -Гэты разьдзел раскажа, як пачаць карыстацца Git. -Спачатку мы растлумачым асновы інструмэнтаў кіраваньня вэрсіямі, тады разьбяромся, як усталяваць Git на сваёй сыстэме і, урэшце, як яго наладзіць і пачаць зь ім працаваць. -Пад канец гэтага разьдзела вы будзеце разумець нашто ўвогуле патрэбен Git, што ён дасьць вам, і як яго наладжваць. +Гэты раздзел раскажа, як пачаць карыстацца Git. +Спачатку мы растлумачым асновы інструмэнтаў кіраваньня вэрсіямі, тады разбяромся, як усталяваць Git у сваёй сыстэме і, урэшце, як яго наладзіць і пачаць з ім працаваць. +Пад канец гэтага раздзела вы будзеце разумець навошта ўвогуле патрэбен Git, што ён дасць вам, і як яго наладжваць. include::book/01-introduction/sections/about-version-control.asc[] @@ -21,6 +21,6 @@ include::book/01-introduction/sections/help.asc[] === Падсумаваньне -Цяпер вы ведаеце што такое Git і чым ён розьніцца ад цэнтралізаваных СКВ. -Апрача таго вы ўжо маеце ўсталяваную вэрсію Gitʼа разам з вашымі асабістымі зьвесткамі. -Таму прыйшоў час навучыцца некаторых асноваў работы з Gitʼам. +Цяпер вы павінны добра разумець што такое Git і чым ён адрозніваецца ад любых цэнтралізаваных сістэм кантролю версій, якімі вы, магчыма, карысталіся раней. +Апрача таго, у вашай сістэме таксама павінна быць працуючая версія Git, якая наладжана з улікам вашай асобы. +Таму прыйшоў час вывучыць некаторыя асновы Git. diff --git a/status.json b/status.json index 25e581e..1e40384 100644 --- a/status.json +++ b/status.json @@ -4,13 +4,13 @@ "maintainers": ["morganov"], "files": { "01-introduction": { - "ch01-getting-started.asc": 0, - "sections/about-version-control.asc": 0, - "sections/command-line.asc": 0, - "sections/first-time-setup.asc": 0, - "sections/help.asc": 0, - "sections/history.asc": 0, - "sections/installing.asc": 0, + "ch01-getting-started.asc": 100, + "sections/about-version-control.asc": 100, + "sections/command-line.asc": 100, + "sections/first-time-setup.asc": 100, + "sections/help.asc": 100, + "sections/history.asc": 100, + "sections/installing.asc": 100, "sections/what-is-git.asc": 0 }, "02-git-basics": {