{"id":174467,"date":"2013-05-15T20:16:03","date_gmt":"2013-05-15T16:16:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=174467"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=174467","title":{"rendered":"<span class=\"post_title\">\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Git<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u042f \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0434\u043e\u043b\u0433\u043e \u0438\u0437\u0443\u0447\u0430\u044e \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e git \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0435\u0437\u0434\u0435, \u0433\u0434\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0436\u043d\u043e. \u041e\u0434\u043d\u0430\u043a\u043e, \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f \u0443\u0441\u043f\u0435\u043b \u043c\u043d\u043e\u0433\u043e\u043c\u0443 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c. <\/p>\n<p>  \u042f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0434\u043e\u043d\u0435\u0441\u0442\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u0434\u0435\u0438, \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a \u044d\u0442\u0430 VCS \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:   <\/p>\n<ul>\n<li>\u043c\u043e\u0436\u043d\u043e \u043b\u0438 git \u00ab\u043f\u043e\u0434\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u00bb \u043f\u043e\u0434 \u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u0435 \u043d\u0443\u0436\u0435\u043d?<\/li>\n<li>\u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0451\u043d \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c?<\/li>\n<li>\u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c?<\/li>\n<li>\u0441\u043c\u043e\u0433\u0443\u0442 \u043b\u0438 \u043d\u043e\u0432\u0438\u0447\u043a\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441?<\/li>\n<li>\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c?<\/li>\n<\/ul>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431\u043e \u0432\u0441\u0451\u043c \u043f\u043e-\u043f\u043e\u0440\u044f\u0434\u043a\u0443, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043e\u0441\u043d\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0431\u0443\u0434\u0435\u0442 \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0442\u0435\u043c, \u043a\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0438\u043b\u0438 \u0445\u043e\u0447\u0435\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 git. \u0411\u043e\u043b\u0435\u0435 \u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u0439\u0434\u0443\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0447\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u043e\u0435, \u0443\u043a\u0430\u0436\u0443\u0442 \u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e\u0434\u0435\u043b\u044f\u0442\u0441\u044f \u0441\u043e\u0432\u0435\u0442\u043e\u043c.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h4>\u0412\u043c\u0435\u0441\u0442\u043e \u043f\u043b\u0430\u043d\u0430<\/h4>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0441 \u0447\u0435\u043c-\u0442\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u044f \u0438\u0437\u0443\u0447\u0430\u044e \u0446\u0435\u043b\u0443\u044e \u043a\u0443\u0447\u0443 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0430 \u044d\u0442\u043e \u2014 \u0440\u0430\u0437\u043d\u044b\u0435 \u043b\u044e\u0434\u0438, \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b. \u0412\u0441\u0451 \u044d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0430\u043d\u0430\u043b\u0438\u0437 \u0438 \u043d\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u043b\u0438 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043c\u043d\u0435? \u041f\u043e\u0437\u0436\u0435, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u0438 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432\u044b\u0434\u0435\u043b\u044e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0448\u0430\u0433\u0438:  <\/p>\n<ul>\n<li>\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435<\/li>\n<li>\u041f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u043c \u0431\u043e\u044f\u0442\u044c\u0441\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/li>\n<li>\u0421\u0442\u0440\u043e\u0438\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/li>\n<li>\u041d\u0430\u0447\u0430\u043b\u043e GIT <\/li>\n<li>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442<\/li>\n<li>\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c<\/li>\n<\/ul>\n<h4>\u041e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435<\/h4>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e:  <\/p>\n<ol>\n<li>Git<\/li>\n<li>\u041a\u043e\u043d\u0441\u043e\u043b\u044c<\/li>\n<li>\u0427\u0435\u043b\u043e\u0432\u0435\u043a \u043f\u043e \u0442\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0443\u043c\u0435\u0435\u0442 \u044d\u0442\u043e \u0432\u0441\u0451 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434 \u0441\u0432\u043e\u044e \u043b\u044e\u0431\u0438\u043c\u0443\u044e \u043e\u0441\u044c<\/li>\n<\/ol>\n<p>  \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u043e\u0451 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u044d\u0442\u043e Debian + KDE + Git + Bash + GitK + KDiff3.<br \/>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 Windows, \u0442\u043e \u0443 \u0432\u0430\u0441 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 Windows + msysgit (git-bash) + TortoiseGit \u0438 \u0442.\u0434.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c, \u043f\u0438\u0448\u0438\u0442\u0435 <code>git<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0432\u043e\u0442 \u044d\u0442\u043e:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0441\u043f\u0440\u0430\u0432\u043a\u0430 git<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">usage: git [--version] [--exec-path[=&lt;path&gt;]] [--html-path] [--man-path] [--info-path]            [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]            [--git-dir=&lt;path&gt;] [--work-tree=&lt;path&gt;] [--namespace=&lt;name&gt;]            [-c name=value] [--help]            &lt;command&gt; [&lt;args&gt;]  The most commonly used git commands are:    add        Add file contents to the index    bisect     Find by binary search the change that introduced a bug    branch     List, create, or delete branches    checkout   Checkout a branch or paths to the working tree    clone      Clone a repository into a new directory    commit     Record changes to the repository    diff       Show changes between commits, commit and working tree, etc    fetch      Download objects and refs from another repository    grep       Print lines matching a pattern    init       Create an empty git repository or reinitialize an existing one    log        Show commit logs    merge      Join two or more development histories together    mv         Move or rename a file, a directory, or a symlink    pull       Fetch from and merge with another repository or a local branch    push       Update remote refs along with associated objects    rebase     Forward-port local commits to the updated upstream head    reset      Reset current HEAD to the specified state    rm         Remove files from the working tree and from the index    show       Show various types of objects    status     Show the working tree status    tag        Create, list, delete or verify a tag object signed with GPG  See 'git help &lt;command&gt;' for more information on a specific command.  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0417\u043d\u0430\u0447\u0438\u0442 \u0432\u044b \u0433\u043e\u0442\u043e\u0432\u044b.<\/p>\n<h4>\u041f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u043c \u0431\u043e\u044f\u0442\u044c\u0441\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/h4>\n<p>  \u041d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u0430\u043d\u0434 \u0443\u0436\u0435 \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e, \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u044b, \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043d\u043e \u0431\u043e\u0438\u0442\u0435\u0441\u044c \u0432\u0432\u0435\u0441\u0442\u0438 \u043d\u0435 \u0442\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u043e\u043c\u0430\u0442\u044c. \u0410 \u043c\u043e\u0436\u0435\u0442 \u0435\u0449\u0451 \u043d\u0438\u0447\u0435\u0433\u043e \u0438 \u043d\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u043e. \u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0432\u043e\u0442 \u044d\u0442\u043e:  <\/p>\n<blockquote><p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0451 \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b, \u0443\u0434\u0430\u043b\u044f\u0442\u044c, \u043c\u0435\u043d\u044f\u0442\u044c. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u0439\u0442\u0435 <code>git push<\/code>.<br \/>  \u0422\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u0422\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u0441\u043b\u043e\u043c\u0430\u0442\u044c.<\/p><\/blockquote>\n<p>  \u0421\u0442\u0440\u043e\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0434\u0430\u0436\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0439 git push \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h4>\u0421\u0442\u0440\u043e\u0438\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/h4>\n<p>  \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439? \u041e\u0442\u0432\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442: \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u0430\u043f\u043a\u0430 `.git`. \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0431\u043e\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435. \u0420\u0430\u0437 20 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0443 \u043a\u043e\u043b\u043b\u0435\u0433 \u0441 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 github\/gitlab. \u0414\u0443\u043c\u0430\u044f, \u0447\u0442\u043e \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c git-\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043e\u043d\u0438 \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0440\u0443\u0430\u0446\u0438\u0438 git, \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e git-\u043a\u043e\u043c\u0430\u043d\u0434\u044b. <\/p>\n<p>  \u0410 \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0444\u0430\u0439\u043b\u044b, \u0442\u043e \u043a \u043d\u0438\u043c \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f, \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0442\u0443\u0434\u0430 \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0442\u0443\u0434\u0430 \u043f\u0438\u0441\u0430\u0442\u044c? \u0414\u0430! \u042f \u043d\u0430\u0437\u044b\u0432\u0430\u044e \u044d\u0442\u043e \u00ab\u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043e\u043c\u00bb. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e, \u043d\u043e \u043c\u043d\u0435 \u0442\u0430\u043a \u0431\u044b\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c. \u0411\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442: \u00ab\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445\u00bb. \u0421\u0430\u043c\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b:  <\/p>\n<ol>\n<li>FILE \u2014 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043f\u0440\u044f\u043c\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.<\/li>\n<li>SSH \u2014 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0447\u0435\u0440\u0435\u0437 ssh.<\/li>\n<li>HTTP(S) \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c http \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u0451\u043c\u0430\/\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438.<\/li>\n<\/ol>\n<p>  \u0412\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435. \u041d\u0435 \u0432\u0430\u0436\u043d\u043e \u043a\u0430\u043a\u043e\u0439 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d, \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0447\u0442\u0435\u043d\u0438\u0435\/\u0437\u0430\u043f\u0438\u0441\u044c \u043a \u0444\u0430\u0439\u043b\u0430\u043c.<br \/>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 github, \u0438 \u043d\u0435\u0442 \u0432 \u043b\u043e\u0433\u0430\u0445 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043e\u043a, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443 \u0432\u0430\u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043e\u043c.<\/p>\n<p>  \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">git clone git@github.com:user\/repo.git <\/code><\/pre>\n<p>  \u0443\u0440\u043b \u00ab\u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f\u00bb \u0432   <\/p>\n<pre><code class=\"bash\">git clone ssh:\/\/git@github.com:user\/repo.git <\/code><\/pre>\n<p>  \u0422.\u0435. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f SSH \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0432 \u043d\u0451\u043c. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u044d\u0442\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 ssh-\u043a\u043b\u044e\u0447. \u0413\u0443\u0433\u043b\u0438\u0442\u044c \u043d\u0430\u0434\u043e \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u00abSSH Auth Key git\u00bb \u0438\u043b\u0438, \u0435\u0441\u043b\u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e \u0432\u0437\u0440\u043e\u0441\u043b\u043e\u043c\u0443, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442:  <\/p>\n<pre><code class=\"bash\">ssh -vvv git@github.com <\/code><\/pre>\n<p>  \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043a\u0430 (\u0440\u0430\u0437\u0434\u0435\u043b GIT URLS):  <\/p>\n<pre><code class=\"bash\">git clone --help <\/code><\/pre>\n<p>  \u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0438\u0433\u0440\u0430\u0435\u043c\u0441\u044f \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438:  <\/p>\n<ol>\n<li>\u041f\u0440\u0438\u0434\u0443\u043c\u0430\u0435\u043c \u0441\u0432\u043e\u0439 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/li>\n<li>\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0434\u0432\u0430 \u043a\u043b\u043e\u043d\u0430 \u0441 \u043d\u0435\u0433\u043e, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 (dev1 \u0438 dev2)<\/li>\n<\/ol>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a88\/da1\/333\/a88da133358dbf445d4c319d4ee0c65e.png\"\/><\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0438 <b>workspace<\/b>, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u043b\u0435\u0436\u0438\u0442 \u0441\u0430\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 (\u043f\u0430\u043f\u043a\u0430 .git ). \u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043c \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u043b\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 (bare-repo).<\/p>\n<p>  \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0435\u0431\u0435 \u043e\u0434\u0438\u043d (\u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0448\u0438\u043c \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c):  <\/p>\n<pre><code class=\"bash\">$ mkdir git-habr    #\u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0430\u043f\u043a\u0443, \u0447\u0442\u043e\u0431 \u043d\u0435 \u043c\u0443\u0441\u043e\u0440\u0438\u0442\u044c $ cd git-habr $ git init --bare origin Initialized empty Git repository in \/home\/sirex\/proj\/git-habr\/origin\/ <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0422\u0443\u0442 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043d\u044e\u0430\u043d\u0441, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c: git, \u043f\u043e\u043d\u0438\u043c\u0430\u044f, \u0447\u0442\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435, \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438, \u0430 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e. \u0410 \u043d\u0430\u043c \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u043b\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043b\u044e\u0447\u043e\u043c <code>--no-hardlinks<\/code> \u0438\u043b\u0438 \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b:  <\/p>\n<pre><code class=\"bash\">$ git clone --no-hardlinks origin dev1 Cloning into 'dev1'... warning: You appear to have cloned an empty repository. done. $ git clone --no-hardlinks origin dev2 Cloning into 'dev2'...                                                                                                                                                                                                                                                          warning: You appear to have cloned an empty repository.                                                                                                                                                                                                                         done. <\/code><\/pre>\n<p>  \u0418\u0442\u043e\u0433: \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c 3 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u0422\u0430\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442, \u0437\u0430\u0442\u043e \u043e\u043d\u0438 \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0440\u0430\u0431\u043e\u0442\u0435.<\/p>\n<h4>\u041d\u0430\u0447\u0430\u043b\u043e GIT<\/h4>\n<h5>\u0421\u043a\u0430\u043d\u0434\u0430\u043b\u044b! \u0418\u043d\u0442\u0440\u0438\u0433\u0438! \u0420\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f!<\/h5>\n<p>  <\/p>\n<ul>\n<li>Git \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u043f\u0430\u043f\u043a\u0438<\/li>\n<li>Git \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0444\u0430\u0439\u043b\u044b<\/li>\n<li>\u0420\u0435\u0432\u0438\u0437\u0438\u0438 (Revision) \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430<\/li>\n<li>\u0420\u0435\u0434\u0430\u043a\u0446\u0438\u0438 (\u043f\u0440\u0430\u0432\u043a\u0438, commits) \u043c\u043e\u0433\u0443\u0442 \u0438\u0434\u0442\u0438 \u043d\u0435 \u043f\u043e-\u043f\u043e\u0440\u044f\u0434\u043a\u0443<\/li>\n<li>\u0412 Git \u043d\u0435\u0442 \u0432\u0435\u0442\u043e\u043a* <i>(\u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u043e\u0439)<\/i><\/li>\n<\/ul>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a, \u043d\u043e \u0438 \u044d\u0442\u043e\u0433\u043e \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u043f\u043e\u043b\u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:  <\/p>\n<blockquote><p>\u041a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?<br \/>  \u041a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0451 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0438 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c?<\/p><\/blockquote>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0441\u0451 \u0432 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445.<\/p>\n<h5>Git. \u041f\u043e\u0447\u0442\u0438 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c<\/h5>\n<p>  Git \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432 commit \u0442\u043e\u043b\u044c\u043a\u043e <b>\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0434 \u0444\u0430\u0439\u043b\u0430\u043c\u0438<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043b\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u0434\u0430\u0451\u0442 \u043d\u0430\u043c <b>\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435<\/b> \u0444\u0430\u0439\u043b\u0430(\u043e\u0432) \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 (\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u044d\u0442\u043e\u043c\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e.<\/p>\n<p>  \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0435 \u0448\u0442\u0443\u043a\u0438:  <\/p>\n<pre><code class=\"bash\">$ git init \/tmp\/test Initialized empty Git repository in \/tmp\/test\/.git\/  $ cd \/tmp\/test $ cp ~\/debian.iso .    # iso \u0432\u0435\u0441\u0438\u0442 168 \u043c\u0435\u0442\u0440\u043e\u0432 $ du -sh .git   #\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u043f\u043a\u0438 .git 92K     .git $ git add debian.iso $ git commit -m &quot;Added iso&quot; [master (root-commit) 0fcc821] added iso  1 file changed, 0 insertions(+), 0 deletions(-)  create mode 100644 debian.iso $ du -sh .git   #\u043e\u043f\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u043c 163M    .git  # \u0414\u043e\u0431\u0430\u0432\u0438\u043b\u043e\u0441\u044c. \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u043f\u043e\u0434 \u0434\u0440\u0443\u0433\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c (\u043d\u043e \u0442\u043e \u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435) $ cp debian.iso debian2.iso $ cp debian.iso debian3.iso $ git add debian2.iso debian3.iso $ git commit -m &quot;Copied iso&quot; [master f700ab5] copied iso  2 files changed, 0 insertions(+), 0 deletions(-)  create mode 100644 debian2.iso  create mode 100644 debian3.iso $ du -sh .git  #\u043e\u043f\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u043c 163M    .git  #\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c. \u042d\u0442\u043e \u0432\u0441\u0451 \u0442\u043e\u0442 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442, \u043f\u0440\u043e\u0441\u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430. <\/code><\/pre>\n<p>  \u0414\u0430, \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u00ab\u0442\u044f\u0436\u0451\u043b\u044b\u0435\u00bb \u0444\u0430\u0439\u043b\u044b, \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435 \u0431\u0435\u0437 \u044f\u0432\u043d\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041e\u043d\u0438 \u0442\u0430\u043c \u043e\u0441\u0442\u0430\u043d\u0443\u0442\u0441\u044f \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043b\u043e\u043d\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.<\/p>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432-\u043f\u0440\u0435\u0434\u043a\u043e\u0432 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445-\u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/704\/6ab\/9e7\/7046ab9e7b5a8da800763ba268880dbf.png\"\/><\/p>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c (\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435) \u0432 \u043b\u044e\u0431\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u0440\u0435\u0432\u0430, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435, \u0433\u0440\u0430\u0444\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f git checkout:  <\/p>\n<pre><code class=\"bash\">git checkout &lt;commit&gt; <\/code><\/pre>\n<p>  \u041a\u0430\u0436\u0434\u043e\u0435 \u0441\u043b\u0438\u044f\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u2014 \u044d\u0442\u043e merge (\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439). <br \/>  \u041a\u0430\u0436\u0434\u043e\u0435 \u0440\u0430\u0437\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/p>\n<blockquote><p>\u041a\u0441\u0442\u0430\u0442\u0438, \u0442\u0443\u0442 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u044d\u0433 \u043d\u0430 \u0444\u0430\u0439\u043b\/\u043f\u0430\u043f\u043a\u0443, \u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0442.\u0434. \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0430 \u043d\u0435 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c Project1, Project2 \u0438 \u0442.\u0434. \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u043a\u043e\u0440\u0435\u043d\u044c.<\/p><\/blockquote>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043a \u0432\u0435\u0442\u043a\u0430\u043c. \u0412\u044b\u0448\u0435 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b:  <\/p>\n<blockquote><p>\u0412 Git \u043d\u0435\u0442 \u0432\u0435\u0442\u043e\u043a* <i>(\u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u043e\u0439)<\/i><\/p><\/blockquote>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c: \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0433\u0440\u0430\u0444. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043b\u044e\u0431\u043e\u0439 \u043f\u0443\u0442\u044c \u043e\u0442 parent-commit \u043a \u043b\u044e\u0431\u043e\u043c\u0443 child-commit \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442. \u0427\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u043c\u0438\u0442 \u00ab\u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c\u00bb \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 \u043d\u0435\u0433\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c.<br \/>  \u0422\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0438 \u0435\u0441\u0442\u044c \u0432\u0435\u0442\u043a\u0430 (branch). \u0422\u0430\u043a \u0436\u0435 \u0438 \u0441 \u0442\u044d\u0433\u043e\u043c (tag). `HEAD` \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u0442\u0430\u043a\u043e\u043c\u0443 \u0436\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u2014 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0433\u0434\u0435 \u043c\u044b \u0435\u0441\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441. \u041d\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u0435\u0442\u043a\u0438 (\u0442\u0443\u0434\u0430 \u0436\u0435 \u043a\u0443\u0434\u0430 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 HEAD).<\/p>\n<p>  \u0423\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043c\u0438\u0442, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 tag. Tag \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0438 \u0441\u0434\u0435\u043b\u0430\u043d, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437 \u0438 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442 \u0438 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f. \u041d\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c.<br \/>  \u0412\u043e\u0442, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u0438\u0437 \u0442\u0435\u043e\u0440\u0438\u0438 \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 git. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438.<\/p>\n<h5>\u0422\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u044f<\/h5>\n<p>  <b>index<\/b> \u2014 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0442.\u0435. \u0432\u0441\u0451 \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439.<br \/>  <b>commit<\/b> \u2014 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439.<br \/>  <b>HEAD<\/b> \u2014 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 commit, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f.<br \/>  <b>master<\/b> \u2014 \u0438\u043c\u044f \u0432\u0435\u0442\u043a\u0438 \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442<br \/>  <b>origin<\/b> \u2014 \u0438\u043c\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0435)<br \/>  <b>checkout<\/b> \u2014 \u0432\u0437\u044f\u0442\u044c \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e \u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435.<\/p>\n<h5>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u0440\u0430\u0432\u043a\u0438<\/h5>\n<p>  \u0415\u0441\u0442\u044c \u0434\u0432\u0435 \u0432\u0435\u0449\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443 \u0432\u0430\u0441 \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u0432\u0441\u0435\u0433\u0434\u0430:  <\/p>\n<ol>\n<li>git status<\/li>\n<li>gitk<\/li>\n<\/ol>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a, \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0438\u0441\u044c, \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u2014 \u044d\u0442\u0438 \u0434\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0430\u043c \u043f\u043e\u043c\u043e\u0433\u0443\u0442.<\/p>\n<p>  <code>git status<\/code> \u2014 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f (\u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043a\u043e\u043f\u0438\u0438) \u0438 \u0433\u0434\u0435 \u0432\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435\u0441\u044c.<br \/>  <code>gitk<\/code> \u2014 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0448 \u0433\u0440\u0430\u0444. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0438\u043c\u0435\u043d\u0430 \u0432\u0435\u0442\u043e\u043a \u0438\u043b\u0438 <code>--all<\/code>, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435.<\/p>\n<p>  \u0412\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u043d\u0430\u0448\u0438\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435. \u0414\u0430\u043b\u0435\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0443, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 dev1$, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432 dev2$.<\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c README.md:  <\/p>\n<pre><code class=\"bash\">dev1$ vim README.md dev1$ git add README.md dev1$ git commit -m &quot;Init Project&quot; [master (root-commit) e30cde5] Init Project  1 file changed, 4 insertions(+)  create mode 100644 README.md dev1$ git status # On branch master nothing to commit (working directory clean) <\/code><\/pre>\n<p>  \u041f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438. \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0442\u043e git \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 \u0432 \u043a\u0430\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442.<br \/>  \u041e\u043d \u043d\u0430\u043c \u044d\u0442\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0436\u0435\u0442:  <\/p>\n<pre><code class=\"bash\">dev1$ git push origin No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'. fatal: The remote end hung up unexpectedly error: failed to push some refs to '\/home\/sirex\/proj\/git-habr\/origin' dev1$ git push origin master  Counting objects: 3, done. Writing objects: 100% (3\/3), 239 bytes, done. Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3\/3), done. To \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      master -&gt; master <\/code><\/pre>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0441\u0434\u0435\u043b\u0430\u0432 pull:  <\/p>\n<pre><code class=\"bash\">dev2$ git pull remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3\/3), done. From \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      master     -&gt; origin\/master <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0435\u0449\u0451 \u043f\u0430\u0440\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ vim README.md dev1(master)$ git commit -m &quot;Change 1&quot; -a dev1(master)$ vim README.md  dev1(master)$ git commit -m &quot;Change 2&quot; -a dev1(master)$ vim README.md  dev1(master)$ git commit -m &quot;Change 3&quot; -a <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0436\u0435 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 (\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c gitk):  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/b><\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/7ea\/c32\/da1\/7eac32da15f48b893470db4366415d45.png\"\/><br \/>  \u0412\u044b\u0434\u0435\u043b\u0438\u043b \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u044f \u043f\u043e-\u043f\u043e\u0440\u044f\u0434\u043a\u0443, \u0441\u043d\u0438\u0437\u0443 \u0432\u0432\u0435\u0440\u0445, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:  <\/p>\n<pre><code class=\"diff\">@@ -2,3 +2,4 @@ My New Project  --------------    Let's start +Some changes <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"diff\">@@ -3,3 +3,5 @@ My New Project    Let's start  Some changes +Some change 2 + <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"diff\">@@ -2,6 +2,5 @@ My New Project  --------------    Let's start -Some changes -Some change 2 +Some change 3 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0432 \u043a\u043e\u043d\u0435\u0446 (\u0442\u0430\u043c \u0433\u0434\u0435 <i>master<\/i>). \u041d\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 README.md. \u041f\u0440\u0438\u0447\u0451\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u043c \u0438\u0437 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0447\u043a\u0438. \u0412\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u043d\u0430\u043c \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0438 \u043c\u044b \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c-\u0432\u0435\u0442\u043a\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0447\u0435\u0440\u0435\u0437 git log \u0438\u043b\u0438 gitk \u0443\u0437\u043d\u0430\u0435\u043c commit id. \u0417\u0430\u0442\u0435\u043c, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0435\u0442\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u043d\u0430 \u043d\u0435\u0451:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git branch &lt;branch_name&gt; &lt;commit_id&gt;  # \u0410 \u043c\u043e\u0436\u043d\u043e \u0438 git branch &lt;branch_name&gt; HEAD~1  # \u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0437\u0436\u0435 dev1(master)$ git checkout &lt;branch_name&gt; <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043b\u044e\u0431\u0438\u0442 GUI \u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0435\u0449\u0451 \u043f\u0440\u043e\u0449\u0435: \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 -&gt; \u00abcreate new branch\u00bb.<br \/>  \u0415\u0441\u043b\u0438 \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043f\u043e \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0432\u0435\u0442\u043a\u0435, \u0442\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0443\u043d\u043a\u0442 \u00abcheck out this branch\u00bb. \u042f \u043d\u0430\u0437\u0432\u0430\u043b \u0432\u0435\u0442\u043a\u0443 \u00abv2\u00bb.<br \/>  \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0430\u0448\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"bash\">dev1(v2)$ vim README.md  dev1(v2)$ git commit -m &quot;Ugly changes&quot; -a [v2 75607a1] Ugly changes  1 file changed, 1 insertion(+), 1 deletion(-) <\/code><\/pre>\n<p>  \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/4eb\/edd\/046\/4ebedd046b7cc0f2e4d14b8a090ad152.png\"\/><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0442\u043a\u0438 \u0438\u0437 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0438 \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0438\u0445 \u0438\u0441\u0442\u043e\u0440\u0438\u044f. <\/p>\n<h5>\u0411\u044b\u0441\u0442\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u043e\u0442\u043a\u0430<\/h5>\n<p>  \u041d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430, \u0432\u044b \u0443\u0436\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0438 \u0441\u043b\u043e\u0432\u0430 <b>fast-forward<\/b>, <b>rebase<\/b>, <b>merge<\/b> \u0432\u043c\u0435\u0441\u0442\u0435. \u041d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u0438\u043c\u0438 \u043f\u043e\u043d\u044f\u0442\u0438\u044f\u043c\u0438. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e rebase, \u043a\u0442\u043e-\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e merge. \u0422\u0435\u043c \u00abrebase vs merge\u00bb \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e. \u0410\u0432\u0442\u043e\u0440\u044b \u0447\u0430\u0441\u0442\u043e \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0443\u0431\u0435\u0434\u0438\u0442\u044c, \u0447\u0442\u043e \u0438\u0445 \u043c\u0435\u0442\u043e\u0434 \u043b\u0443\u0447\u0448\u0435 \u0438 \u0443\u0434\u043e\u0431\u043d\u0435\u0435. \u041c\u044b \u043f\u043e\u0439\u0434\u0451\u043c \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0443\u0442\u0451\u043c: \u043f\u043e\u0439\u043c\u0451\u043c, \u0447\u0442\u043e \u0436\u0435 \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0422\u043e\u0433\u0434\u0430 \u0441\u0440\u0430\u0437\u0443 \u0441\u0442\u0430\u043d\u0435\u0442 \u044f\u0441\u043d\u043e, \u043a\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.<\/p>\n<p>  \u041f\u043e\u043a\u0430, \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435: \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b, \u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0438\u0437 \u043d\u043e\u0432\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0444\u0430\u0439\u043b\u0430 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0432\u0441\u0451 \u0432 master:  <\/p>\n<pre><code class=\"bash\">dev1(v2)$ git checkout master  Switched to branch 'master' Your branch is ahead of 'origin\/master' by 3 commits. # \u0414\u0430, \u043c\u044b \u0432\u043f\u0435\u0440\u0435\u0434\u0438 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 master \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 origin <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b collider.init.sh \u0441 \u0442\u0430\u043a\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">#!\/bin\/sh   USER=collider   case $1 in         *)                 echo Uknown Action: $1         ;; esac  <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c, \u0437\u0430\u043a\u043e\u043c\u043c\u0438\u0442\u0438\u043c \u0438 \u043d\u0430\u0447\u043d\u0451\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0435:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git add collider.init.sh dev1(master)$ git commit -m &quot;Added collider init script&quot; [master 0c3aa28] Added collider init script  1 file changed, 11 insertions(+)  create mode 100755 collider.init.sh dev1(master)$ git checkout -b collider\/start # \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0438\u0436\u0435 Switched to a new branch 'collider\/start' dev1(collider\/start)$ git checkout -b collider\/terminate # \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0438\u0436\u0435 Switched to a new branch 'collider\/terminate' <\/code><\/pre>\n<p>  <b>git checkout -b &lt;branch_name&gt;<\/b> \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c (\u0432\u0435\u0442\u043a\u0443) &lt;branch_name&gt; \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e (\u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f HEAD) \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0435\u0433\u043e.<br \/>  \u0418\u043b\u0438 \u043f\u0440\u043e\u0449\u0435: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441 \u043d\u0435\u0439. <\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0438\u043c\u0435\u043d\u0438 \u0432\u0435\u0442\u043a\u0438 \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b &#8216;\/&#8217;, \u043e\u0434\u043d\u0430\u043a\u043e, \u043d\u0430\u0434\u043e \u0431\u044b\u0442\u044c \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b\u043c, \u0442.\u043a. \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0434\u043e &#8216;\/&#8217;. \u0415\u0441\u043b\u0438 \u0432\u0435\u0442\u043a\u0430 \u0441 \u0442\u0430\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u0430\u043a \u0438 \u043f\u0430\u043f\u043a\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u2014 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0415\u0441\u043b\u0438 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u0435\u0442\u043a\u0430 <i>dev<\/i>, \u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c <i>dev\/test<\/i>.<br \/>  A \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c <i>dev\/test<\/i>, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c <i>dev\/whatever<\/i>, \u043d\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e <i>dev<\/i>.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0434\u0432\u0435 \u0432\u0435\u0442\u043a\u0438 <i>collider\/start<\/i> \u0438 <i>collider\/terminate<\/i>. \u0417\u0430\u043f\u0443\u0442\u0430\u043b\u0438\u0441\u044c? <b>gitk &#8212;all<\/b> \u0441\u043f\u0435\u0448\u0438\u0442 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/19a\/c96\/c82\/19ac96c82fd986f82e868504a29f780f.png\"\/><br \/>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u043c\u044b \u0432 \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0435 \u0438\u043c\u0435\u0435\u043c 3 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f (\u043d\u0430\u0448\u0438 \u0432\u0435\u0442\u043a\u0438), \u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u0442\u0430\u043a\u0438\u0435:  <\/p>\n<pre><code class=\"diff\">@@ -0,0 +1,11 @@ +#!\/bin\/sh + + +USER=collider + + +case $1 in +\t*) +\t\techo Uknown Action: $1 +\t;; +esac  <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0442\u044c \u043d\u0430\u0448 \u043a\u043e\u043b\u043b\u0430\u0439\u0434\u0435\u0440. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0430\u043a\u0430\u044f:  <\/p>\n<pre><code class=\"bash\">dev1(collider\/start)$ vim collider.init.sh  dev1(collider\/start)$ git commit -m &quot;Added Collider Start Function&quot; -a [collider\/start d229fa9] Added Collider Start Function  1 file changed, 9 insertions(+) dev1(collider\/start)$ git checkout collider\/terminate  Switched to branch 'collider\/terminate' dev1(collider\/terminate)$ vim collider.init.sh dev1(collider\/terminate)$ git commit -m &quot;Added Collider Terminate Function&quot; -a [collider\/terminate 4ea02f5] Added Collider Terminate Function  1 file changed, 9 insertions(+) <\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f<\/b><\/p>\n<div class=\"spoiler_text\"><i>collider\/start<\/i>  <\/p>\n<pre><code class=\"diff\">@@ -3,8 +3,17 @@    USER=collider   +do_start(){ +\techo -n &quot;Starting collider...&quot; +\tsleep 1s +\techo &quot;ok&quot; +\techo &quot;The answer is 42. Please, come back again after 1 billion years.&quot; +}    case $1 in +\tstart) +\t\tdo_start +\t;;  \t*)  \t\techo Uknown Action: $1  \t;; <\/code><\/pre>\n<p>  <i>collider\/terminate<\/i><\/p>\n<pre><code class=\"diff\">@@ -3,8 +3,17 @@    USER=collider   +do_terminate() { +\techo -n &quot;Safely terminating collider...&quot; +\tsleep 1s +\techo &quot;oops :(&quot; +\t +}    case $1 in +\tterminate) +\t\tdo_terminate +\t;;  \t*)  \t\techo Uknown Action: $1  \t;;  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432 <b>gitk &#8212;all<\/b> \u0447\u0442\u043e \u043d\u0430\u0434\u0435\u043b\u0430\u043b\u0438:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/d46\/1da\/164\/d461da1645bf46b2033d77d96af32d38.png\"\/><\/p>\n<p>  \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u043e\u0442\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 master (\u0442\u0430\u043c \u0432\u0435\u0434\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043b\u043b\u0430\u0439\u0434\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442). \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u043a\u0430\u043a \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435 \u2014 \u044d\u0442\u043e <b>merge<\/b>. \u041d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u0443\u043c\u0430\u0435\u043c, \u0447\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0432\u0435\u0442\u043a\u0430 <i>master<\/i> \u043e\u0442 <i>collider\/start<\/i> \u0438 \u043a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0445 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u0441\u0443\u043c\u043c\u0443)? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043e\u0431\u0449\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u044d\u0442\u0438\u0445 \u0432\u0435\u0442\u043e\u043a, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442\u044b, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a <i>master<\/i>, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442\u044b, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a <i>collider\/start<\/i>. \u0410 \u0447\u0442\u043e \u0443 \u043d\u0430\u0441? \u041e\u0431\u0449\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u2014 \u0435\u0441\u0442\u044c, \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u044b <i>master<\/i> \u2014 \u043d\u0435\u0442, \u0442\u043e\u043b\u044c\u043a\u043e <i>collider\/start<\/i> \u2014 \u0435\u0441\u0442\u044c. \u0422.\u0435. \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0432\u0435\u0442\u043e\u043a \u2014 \u044d\u0442\u043e <i>master<\/i> + \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u043e\u0442 <i>collider\/start<\/i>. \u041d\u043e <i>collider\/start<\/i> \u2014 \u044d\u0442\u043e <i>master<\/i> + \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0432\u0435\u0442\u043a\u0438 <i>collider\/start<\/i>! \u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435! \u0422.\u0435. \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0434\u043e! \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u0435\u0442\u043e\u043a \u2014 \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c <i>collider\/start<\/i>!<br \/>  \u0415\u0449\u0451 \u0440\u0430\u0437, \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0431\u0443\u043a\u0432\u0430\u0445, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0449\u0435 \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f:<br \/>  master = C1 + C2 +C3<br \/>  collider\/start = master + C4 = C1 + C2 +C3 + C4<br \/>  master + collider\/start = \u041e\u0431\u0449\u0438\u0435_\u043a\u043e\u043c\u043c\u0438\u0442\u044b(master, collider\/start) + \u0422\u043e\u043b\u044c\u043a\u043e_\u0443(master) + \u0422\u043e\u043b\u044c\u043a\u043e_\u0443(collider\/start) = (C1 + C2 +C3) + (NULL) + (C4) = C1 + C2 +C3 + C4<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0432\u0435\u0442\u043a\u0430 \u00ab\u043b\u0435\u0436\u0438\u0442\u00bb \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439, \u0442\u043e \u043e\u043d\u0430 \u0443\u0436\u0435 \u043a\u0430\u043a \u0431\u044b \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u044d\u0442\u0443, \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u0442\u043e\u0440\u0430\u044f \u0432\u0435\u0442\u043a\u0430. \u041c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432\u043f\u0435\u0440\u0451\u0434 \u043e\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043a \u043d\u043e\u0432\u044b\u043c. \u0412\u043e\u0442 \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u043e\u0442\u043a\u0430 (\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0434\u043e) \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 fast-forward. <br \/>  \u041f\u043e\u0447\u0435\u043c\u0443 fast-forward \u2014 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e?  <\/p>\n<ol>\n<li>\u041f\u0440\u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e<\/li>\n<li>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043f\u0440\u0438\u0447\u0451\u043c \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435<\/li>\n<li>\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442<\/li>\n<li>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 (\u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043d\u0435 \u0431\u044b\u043b\u043e), \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u043e\u0449\u0435 \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445<\/li>\n<li>\u041d\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f<\/li>\n<\/ol>\n<p>  \u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e fast-forward \u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d? \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 gitk \u043d\u0430 \u0434\u0432\u0435 \u0432\u0435\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0438 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d \u0432\u043e\u043f\u0440\u043e\u0441: \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u043f\u0440\u044f\u043c\u043e\u0439 \u043f\u0443\u0442\u044c \u043e\u0442 \u0432\u0435\u0442\u043a\u0438 \u0410 \u043a B, \u0435\u0441\u043b\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0432\u0435\u0440\u0445 (\u043e\u0442 \u043d\u0438\u0436\u043d\u0435\u0439 \u043a \u0432\u0435\u0440\u0445\u043d\u0435\u0439). \u0415\u0441\u043b\u0438 \u0434\u0430 \u2014 \u0442\u043e \u0431\u0443\u0434\u0435\u0442 fast-forward.<br \/>  \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 <i>master<\/i>:  <\/p>\n<pre><code class=\"bash\">dev1(collider\/terminate)$ git checkout master  Switched to branch 'master' Your branch is ahead of 'origin\/master' by 4 commits. dev1(master)$ git merge collider\/start Updating 0c3aa28..d229fa9 Fast-forward # \u0442\u043e \u0447\u0442\u043e \u043d\u0430\u0434\u043e  collider.init.sh |    9 +++++++++  1 file changed, 9 insertions(+) <\/code><\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u043b\u0441\u044f \u0432\u043f\u0435\u0440\u0451\u0434):<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/bd0\/2a7\/f70\/bd02a7f709de197279fbaef9dd47e744.png\"\/><\/p>\n<h5>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435<\/h5>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 <i>collider\/terminate<\/i>. \u041d\u043e, \u0442\u043e\u0442, \u043a\u0442\u043e \u0434\u043e\u0447\u0438\u0442\u0430\u043b \u0434\u043e \u0441\u044e\u0434\u0430 (\u0434\u043e\u0447\u0438\u0442\u0430\u043b \u0432\u0435\u0434\u044c, \u0434\u0430?!) \u0437\u0430\u043c\u0435\u0442\u0438\u0442, \u0447\u0442\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043f\u0443\u0442\u0438 \u043d\u0435\u0442 \u0438 \u0442\u0430\u043a \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043c\u044b \u0443\u0436\u0435 \u043d\u0435 \u043e\u0442\u0434\u0435\u043b\u0430\u0435\u043c\u0441\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c git \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c fast-forward:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git merge --ff-only collider\/terminate  fatal: Not possible to fast-forward, aborting. <\/code><\/pre>\n<p>  \u0427\u0442\u043e \u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u043e\u0436\u0438\u0434\u0430\u0442\u044c. \u0414\u0435\u043b\u0430\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e merge:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git merge collider\/terminate  Auto-merging collider.init.sh CONFLICT (content): Merge conflict in collider.init.sh Automatic merge failed; fix conflicts and then commit the result. <\/code><\/pre>\n<p>  \u042f \u0434\u0430\u0436\u0435 \u0440\u0430\u0434, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442. \u041e\u0431\u044b\u0447\u043d\u043e, \u0432 \u044d\u0442\u043e\u043c \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u0440\u044f\u044e\u0442\u0441\u044f, \u043b\u0435\u0437\u0443\u0442 \u0433\u0443\u0433\u043b\u0438\u0442\u044c \u0438 \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c.<br \/>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430:  <\/p>\n<blockquote><p>\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0434\u0432\u0430 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0435 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u0418 \u0442\u0435\u043f\u0435\u0440\u044c git \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c: \u0442\u043e \u043b\u0438 \u0432\u0437\u044f\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0442\u043e \u043b\u0438 \u0432\u0442\u043e\u0440\u043e\u0439, \u0442\u043e \u043b\u0438 \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c, \u0442\u043e \u043b\u0438 \u0432\u0441\u0451 \u0443\u0431\u0440\u0430\u0442\u044c.<\/p><\/blockquote>\n<p>  \u041a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u0434\u0432\u0435 \u0441\u0430\u043c\u044b\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u043c \u0441\u043f\u0435\u0448\u0430\u0442 \u043f\u043e\u043c\u043e\u0447\u044c:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git status # On branch master # Your branch is ahead of 'origin\/master' by 5 commits. # # Unmerged paths: #   (use &quot;git add\/rm &lt;file&gt;...&quot; as appropriate to mark resolution) # #       both modified:      collider.init.sh # no changes added to commit (use &quot;git add&quot; and\/or &quot;git commit -a&quot;) dev1(master)$ gitk --all <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/3f0\/665\/abc\/3f0665abc6689d3b2d80c16943a48963.png\"\/><br \/>  \u041c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 <i>master<\/i>, \u0442\u0443\u0434\u0430 \u0436\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 <i>HEAD<\/i>, \u0442\u0443\u0434\u0430 \u0436\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430\u0448\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b.<br \/>  \u0424\u0430\u0439\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">#!\/bin\/sh   USER=collider  &lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD do_start(){         echo -n &quot;Starting collider...&quot;         sleep 1s         echo &quot;ok&quot;         echo &quot;The answer is 42. Please, come back again after 1 billion years.&quot; }  case $1 in         start)                 do_start ======= do_terminate() {         echo -n &quot;Safely terminating collider...&quot;         sleep 1s         echo &quot;oops :(&quot;  }  case $1 in         terminate)                 do_terminate &gt;&gt;&gt;&gt;&gt;&gt;&gt; collider\/terminate         ;;         *)                 echo Uknown Action: $1         ;; esac <\/code><\/pre>\n<p>  \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u043e\u0431\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430, \u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b, \u043f\u0440\u0430\u0432\u0434\u0430? \u0417\u0434\u0435\u0441\u044c \u0442\u043e \u043d\u0430\u043c \u0438 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0441\u044f\u043a\u0438\u0435 merge-\u0442\u0443\u043b\u044b.<br \/>  \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0448\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u2014 \u044d\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <b>git mergetool<\/b>. \u041f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0432\u0441\u0435 \u0437\u043d\u0430\u044e\u0442 \u043f\u0440\u043e \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443.<br \/>  \u041e\u043d\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:  <\/p>\n<ol>\n<li>\u041d\u0430\u0445\u043e\u0434\u0438\u0442 \u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 diff- \u0438\u043b\u0438 merge-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b filename.orig (\u0444\u0430\u0439\u043b \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u0434\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c)<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b filename.base (\u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u0431\u044b\u043b)<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b filename.remote (\u043a\u0430\u043a \u0435\u0433\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0435\u0442\u043a\u0435)<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b filename.local (\u043a\u0430\u043a \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438 \u0435\u0433\u043e \u043c\u044b)<\/li>\n<li>\u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0432\u0441\u0451 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 filename<\/li>\n<\/ol>\n<p>  \u041f\u0440\u043e\u0431\u0443\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git mergetool  merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse ecmerge p4merge araxis bc3 emerge vimdiff Merging: collider.init.sh  Normal merge conflict for 'collider.init.sh':   {local}: modified file   {remote}: modified file Hit return to start merge resolution tool (kdiff3): <\/code><\/pre>\n<p>  \u0418\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u0432 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u043c\u0435\u0441\u0442\u0430\u0445 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0433\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044f \u0431\u0440\u0430\u043b \u0432\u0435\u0437\u0434\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u043d\u043e \u0441 gui \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. \u0412\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u0432\u0432\u0435\u0440\u0445\u0443 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0444\u0430\u0439\u043b\u0430, \u0432\u043d\u0438\u0437\u0443 \u2014 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e):<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/01b\/26f\/d6a\/01b26fd6a5e6f872dd8706041f56974e.png\"\/><br \/>  \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043e\u043a\u043d\u043e, \u043a\u043e\u043c\u043c\u0438\u0442\u0438\u043c, \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/01e\/59a\/1a0\/01e59a1a0617c0a6340667fcc0e372ee.png\"\/><\/p>\n<p>  \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c \u0434\u0432\u0443\u0445 \u0434\u0440\u0443\u0433\u0438\u0445. Fast-forward \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0451\u043b, \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e, \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0441\u0442\u0430\u043b\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u0435\u0435. \u0418\u043d\u043e\u0433\u0434\u0430, merge \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u0435\u043d, \u043d\u043e \u0438\u0437\u043b\u0438\u0448\u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0442\u043e\u0436\u0435 \u043d\u0438 \u043a \u0447\u0435\u043c\u0443. <br \/>  \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430:  <\/p>\n<table>\n<tr>\n<td><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a33\/4a5\/5a7\/a334a55a79f862ec02b1f990a7bfc412.png\"\/><\/td>\n<td><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/342\/6b3\/33e\/3426b333ed89f9fe2fa0a8d73aff2967.png\"\/><\/td>\n<td><img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/37b\/e64\/7e1\/37be647e111a285ce91914b395eede41.png\"\/><\/td>\n<\/tr>\n<\/table>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0430\u043a\u043e\u0435 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0433\u043e\u0434\u0438\u0442\u0441\u044f! \u00ab\u041d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0434\u0451\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0438 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e fast-forward \u043d\u0435 \u0431\u0443\u0434\u0435\u0442\u00bb \u0441\u043a\u0430\u0436\u0435\u0442\u0435 \u0432\u044b? \u0412\u044b\u0445\u043e\u0434 \u0435\u0441\u0442\u044c!<\/p>\n<h5>\u041f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430<\/h5>\n<p>  \u0427\u0442\u043e \u0436\u0435 \u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0439 \u0438 \u043f\u0440\u044f\u043c\u043e\u0439? \u041c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043d\u0430\u0448\u0443 \u0432\u0435\u0442\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0451 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0442\u043a\u0443! \u0422.\u0435. \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0435 \u043d\u043e\u0432\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u043e\u0434\u0438\u043d \u0437\u0430 \u043e\u0434\u043d\u0438\u043c. \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f rebase. \u041d\u0430\u0448\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0441\u0442\u0430\u043d\u0443\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u043e\u0439 \u0432\u0435\u0442\u043a\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0438\u0445 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u043c. \u0422\u043e\u0433\u0434\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439. \u0418 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c fast-forward.<br \/>  \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438: \u043c\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0431\u044b \u043c\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0440\u0430\u043b\u0438 \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0438 \u0437\u0430\u043d\u043e\u0432\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u043b\u0438 \u044d\u0442\u0438 \u0436\u0435 \u0441\u0430\u043c\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0442\u043c\u0435\u043d\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c <i>master<\/i> \u043d\u0430\u0437\u0430\u0434, \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u044f merge-commit, \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u043b\u0438 \u0438\u043c\u0435\u043d\u043d\u043e <i>master<\/i>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430\u0437\u0430\u0434, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e (\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u0430\u0436\u043d\u043e) \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 commit, \u0433\u0434\u0435 \u043e\u043d \u0431\u044b\u043b.<br \/>  \u041a\u0430\u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043d\u0430\u0448 merge-commit \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043d\u0438 \u043a \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0435.<\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <code>gitk<\/code> \u0438\u043b\u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u043d\u0430\u0448 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443, \u0432\u0435\u0442\u043a\u0430 <i>collider\/start<\/i> \u0443\u0436\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0448 \u043a\u043e\u043c\u043c\u0438\u0442, \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e id, \u0430 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u044f \u0432\u0435\u0442\u043a\u0438 (\u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u043e \u0438 \u0442\u043e\u0436\u0435):  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git reset --hard collider\/start  HEAD is now at d229fa9 Added Collider Start Function <\/code><\/pre>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0427\u0442\u043e \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0441 merge-commit?<\/b><\/p>\n<div class=\"spoiler_text\">\u041a\u043e\u0433\u0434\u0430 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0438\u043b\u0438 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c (\u0432\u0435\u0442\u043a\u0430), \u0442\u043e \u043a\u043e\u043c\u043c\u0438\u0442 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435. Git \u043f\u0440\u043e \u043d\u0435\u0433\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u0442, \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0432 \u043b\u043e\u0433\u0430\u0445, \u0432 \u0432\u0435\u0442\u043a\u0430\u0445 \u0438 \u0442.\u0434. \u041d\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438, \u043a\u043e\u043c\u043c\u0438\u0442 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u043f\u0440\u043e\u043f\u0430\u043b. \u041e\u043d \u0436\u0438\u0432\u0451\u0442 \u0441\u0435\u0431\u0435 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043a\u0430\u043a \u043d\u0435\u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0435\u0437 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u0438 \u0436\u0434\u0451\u0442 \u0441\u0432\u043e\u0435\u0433\u043e \u0447\u0430\u0441\u0430, \u043a\u043e\u0433\u0434\u0430 git garbage collector \u0435\u0451 \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442.<br \/>  \u0418\u043d\u043e\u0433\u0434\u0430 \u0431\u044b\u0432\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435 \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0451\u043d. \u041d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0434\u0451\u0442 <b>git reflog<\/b>. \u041e\u043d \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432\u0441\u044e \u0438\u0441\u0442\u043e\u0440\u0438\u044e, \u043f\u043e \u043a\u0430\u043a\u0438\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c \u0432\u044b \u0445\u043e\u0434\u0438\u043b\u0438 (\u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0433\u0430\u043b\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c <i>HEAD<\/i>). \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432\u044b\u0432\u043e\u0434, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 id \u043f\u0440\u043e\u043f\u0430\u0432\u0448\u0435\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e checkout \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 \u043a\u043e\u043c\u043c\u0438\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c (\u0432\u0435\u0442\u043a\u0443 \u0438\u043b\u0438 \u0442\u044d\u0433).<br \/>  \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a (\u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f, \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0432\u0441\u044f):  <\/p>\n<pre><code class=\"diff\">d229fa9 HEAD@{0}: reset: moving to collider\/start 80b77c3 HEAD@{1}: commit (merge): Merged collider\/terminate d229fa9 HEAD@{2}: merge collider\/start: Fast-forward 0c3aa28 HEAD@{3}: checkout: moving from collider\/terminate to master 4ea02f5 HEAD@{4}: commit: Added Collider Terminate Function 0c3aa28 HEAD@{5}: checkout: moving from collider\/start to collider\/terminate d229fa9 HEAD@{6}: commit: Added Collider Start Function 0c3aa28 HEAD@{7}: checkout: moving from collider\/launch to collider\/start 0c3aa28 HEAD@{8}: checkout: moving from collider\/terminate to collider\/launch 0c3aa28 HEAD@{9}: checkout: moving from collider\/stop to collider\/terminate 0c3aa28 HEAD@{10}: checkout: moving from collider\/start to collider\/stop 0c3aa28 HEAD@{11}: checkout: moving from master to collider\/start 0c3aa28 HEAD@{12}: commit: Added collider init script 41f0540 HEAD@{13}: checkout: moving from v2 to master 75607a1 HEAD@{14}: commit: Ugly changes 55280dc HEAD@{15}: checkout: moving from master to v2 41f0540 HEAD@{16}: commit: Change 3 55280dc HEAD@{17}: commit: Change 2 598a03a HEAD@{18}: commit: Change 1 d80e5f1 HEAD@{19}: commit (initial): Init Project <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/65d\/d9e\/6d0\/65dd9e6d0283d228ced3814b25f3d0fb.png\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u0432\u0435\u0442\u043a\u0443 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e, \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438\u0445 \u043e\u0431\u0449\u0435\u0435 \u043d\u0430\u0447\u0430\u043b\u043e, \u043f\u043e\u0442\u043e\u043c \u0432\u0437\u044f\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442\u044b <b>\u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439<\/b> \u0432\u0435\u0442\u043a\u0438 \u0438, \u0432 \u0442\u0430\u043a\u043e\u043c \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0445 \u043d\u0430 <b>\u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e<\/b> (base) \u0432\u0435\u0442\u043a\u0443. \u041e\u0447\u0435\u043d\u044c \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 (<i>feature<\/i> \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 <i>master<\/i>):<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/c21\/90a\/5bd\/c2190a5bd4cb73247e3c0f0ad659fbd5.png\"\/><br \/>  \u0412\u0430\u0436\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u043f\u043e\u0441\u043b\u0435 \u00ab\u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00bb \u044d\u0442\u043e \u0443\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b. \u0410 \u0441\u0442\u0430\u0440\u044b\u0435 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u043f\u0440\u043e\u043f\u0430\u043b\u0438 \u0438 \u043d\u0435 \u0441\u0434\u0432\u0438\u043d\u0443\u043b\u0438\u0441\u044c.<\/p>\n<blockquote><p>\u0414\u043b\u044f \u0441\u0430\u043c\u043e\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f: \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043e\u0442\u043c\u0435\u043d\u044f\u0442\u044c merge-commit. \u0410 \u0432\u0437\u044f\u0442\u044c \u0432\u0435\u0442\u043a\u0443 <i>collider\/terminate<\/i> \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 <i>collider\/start<\/i>.<br \/>  \u0422\u043e\u0433\u0434\u0430 \u0432\u0435\u0442\u043a\u0430 <i>collider\/terminate<\/i> \u0431\u044b\u043b\u0430 \u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c <i>collider\/start<\/i>, \u0430 <i>master<\/i> \u0441 merge-commit \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0431\u044b \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0435. \u0412 \u043a\u043e\u043d\u0446\u0435, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0431\u044b\u043b\u0430 \u0431\u044b \u0433\u043e\u0442\u043e\u0432\u0430, <i>master<\/i> \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 (<b>git checkout master &#038;&#038; git reset &#8212;hard collider\/terminate<\/b>). \u0421\u043c\u044b\u0441\u043b \u0442\u043e\u0442 \u0436\u0435, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. Git \u043e\u0447\u0435\u043d\u044c \u0433\u0438\u0431\u043e\u043a \u2014 \u043a\u0430\u043a \u0445\u043e\u0447\u0443, \u0442\u0430\u043a \u0438 \u043a\u0440\u0443\u0447\u0443.  <\/p><\/blockquote>\n<p>  \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c, \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 <i>collider\/terminate<\/i> \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442, \u043a\u0443\u0434\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 <i>master<\/i> (\u0438\u043b\u0438 <i>collider\/start<\/i>, \u043a\u043e\u043c\u0443 \u043a\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u0435\u0435). \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e \u00ab\u0432\u0437\u044f\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0451 \u043d\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0438\u043b\u0438 \u0432\u0435\u0442\u043a\u0443\u00bb:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git checkout collider\/terminate  Switched to branch 'collider\/terminate' dev1(collider\/terminate)$ git rebase -i master # -i \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0442.\u0435. \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c git rebase todo list \u0438 \u0434\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u043c\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 <\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:  <\/p>\n<pre><code class=\"bash\">pick 4ea02f5 Added Collider Terminate Function  # Rebase d229fa9..4ea02f5 onto d229fa9 # # Commands: #  p, pick = use commit #  r, reword = use commit, but edit the commit message #  e, edit = use commit, but stop for amending #  s, squash = use commit, but meld into previous commit #  f, fixup = like &quot;squash&quot;, but discard this commit's log message #  x, exec = run command (the rest of the line) using shell # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # However, if you remove everything, the rebase will be aborted. # <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e: \u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0438\u0445 \u0438\u043b\u0438 \u0432\u043e\u0432\u0441\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c. \u0422.\u0435. \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432\u0435\u0442\u043a\u0438 \u0434\u043e \u043d\u0435\u0443\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438. \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0430\u043c \u044d\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c. \u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u043d\u0430\u043c \u043d\u0435 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c:  <\/p>\n<pre><code class=\"bash\">error: could not apply 4ea02f5... Added Collider Terminate Function  When you have resolved this problem run &quot;git rebase --continue&quot;. If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;. To check out the original branch and stop rebasing run &quot;git rebase --abort&quot;. Could not apply 4ea02f5... Added Collider Terminate Function dev1((no branch))$ git status # Not currently on any branch. # Unmerged paths: #   (use &quot;git reset HEAD &lt;file&gt;...&quot; to unstage) #   (use &quot;git add\/rm &lt;file&gt;...&quot; as appropriate to mark resolution) # #       both modified:      collider.init.sh # no changes added to commit (use &quot;git add&quot; and\/or &quot;git commit -a&quot;) <\/code><\/pre>\n<p>  \u0420\u0435\u0448\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <b>git mergetool<\/b> \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u00ab\u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0443\u00bb \u2014 <b>git rebase &#8212;continue<\/b>. Git \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0434\u0430\u0451\u0442 \u043d\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439. <br \/>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/3f4\/a20\/db6\/3f4a20db62ee4e15d0025dfda85d0fab.png\"\/><br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0436\u0435 \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c master \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0451 \u043d\u0435\u043d\u0443\u0436\u043d\u043e\u0435:  <\/p>\n<pre><code class=\"bash\">dev1(collider\/terminate)$ git checkout master  Switched to branch 'master' Your branch is ahead of 'origin\/master' by 5 commits. dev1(master)$ git merge collider\/terminate  Updating d229fa9..6661c2e Fast-forward  collider.init.sh |   11 +++++++++++  1 file changed, 11 insertions(+) dev1(master)$ git branch -d collider\/start  Deleted branch collider\/start (was d229fa9). dev1(master)$ git branch -d collider\/terminate  Deleted branch collider\/terminate (was 6661c2e). <\/code><\/pre>\n<p>  \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u0443\u0434\u0430\u043b\u044f\u043b\u0438, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u043b\u0438 \u043f\u0440\u0430\u0432\u043a\u0438, \u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043a\u0440\u0430\u0441\u0438\u0432\u0443\u044e \u043b\u0438\u043d\u0435\u0439\u043d\u0443\u044e \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/eb8\/5ca\/b86\/eb85cab867c811ae0a5aa0c5e96edfe4.png\"\/><\/p>\n<h5>\u041f\u0435\u0440\u0435\u0440\u044b\u0432<\/h5>\n<p>  \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0443\u0436\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u0438 \u043e\u0431\u0434\u0443\u043c\u0430\u0442\u044c \u0432\u0441\u0451. \u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043c\u044b \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 git:  <\/p>\n<ul>\n<li>\u041b\u0451\u0433\u043a\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432<\/li>\n<li>\u041a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432<\/li>\n<li>Git \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438<\/li>\n<li>\u041e\u0434\u0438\u043d \u043f\u0440\u043e\u0435\u043a\u0442\/\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\/\u043f\u043b\u0430\u0433\u0438\u043d \u2014 \u043e\u0434\u0438\u043d \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/li>\n<li>\u0412\u0435\u0442\u043a\u0438, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u043b\u0435\u0433\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f<\/li>\n<li>\u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0442 \u043d\u0435\u0433\u043e \u043d\u043e\u0432\u0443\u044e \u0438\u0441\u0442\u043e\u0440\u0438\u044e<\/li>\n<li>\u0415\u0441\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u00ab\u043b\u0435\u0436\u0430\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u044f\u043c\u043e\u0439\u00bb \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c fast-forward (\u043f\u0435\u0440\u0435\u043c\u043e\u0442\u043a\u0430, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432)<\/li>\n<\/ul>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u043e\u0439\u0434\u0443\u0442 \u043f\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u042f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>  \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0430\u043c \u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u043a\u0430\u043a\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0438\u043c\u0435\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u0430 \u043d\u0435 \u043e\u0434\u0438\u043d. \u0414\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438.<br \/>  \u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043a \u0444\u0430\u0439\u043b\u0443 \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 git commit. \u042d\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ for i in `seq 1 2`; do STR=`pwgen -C 20 -B 1`; echo $STR &gt;&gt; trash.txt; git commit -m &quot;Added $STR&quot; trash.txt; done [master e64499d] Added rooreoyoivoobiangeix  1 file changed, 1 insertion(+) [master a3ae806] Added eisahtaexookaifadoow  1 file changed, 1 insertion(+) <\/code><\/pre>\n<h4>\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0438 \u043f\u0440\u0438\u0451\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/h4>\n<p>  \u041d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438. \u0412 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c:  <\/p>\n<ul>\n<li>\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c\/\u0443\u0434\u0430\u043b\u044f\u0442\u044c\/\u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445<\/li>\n<li>\u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 (\u0432\u0435\u0442\u043a\u0438, \u0442\u044d\u0433\u0438, \u043a\u043e\u043c\u043c\u0438\u0442\u044b)<\/li>\n<li>\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 (\u0432\u0435\u0442\u043a\u0438, \u0442\u044d\u0433\u0438, \u043a\u043e\u043c\u043c\u0438\u0442\u044b)<\/li>\n<\/ul>\n<p>  \u0412\u043e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f:  <\/p>\n<ol>\n<li><code>git remote<\/code> \u2014 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438<\/li>\n<li><code>git fetch<\/code> \u2014 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c<\/li>\n<li><code>git pull<\/code> \u2014 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e <code>git fetch<\/code> + <code>git merge<\/code><\/li>\n<li><code>git push<\/code> \u2014 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c<\/li>\n<\/ol>\n<h5>git remote<\/h5>\n<p>  \u041a\u0430\u043a \u043e\u0442\u043c\u0435\u0447\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435, <b>origin<\/b> \u2014 \u044d\u0442\u043e \u0438\u043c\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0418\u043c\u0435\u043d\u0430 \u043d\u0443\u0436\u043d\u044b, \u0442.\u043a. \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438 \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b\u0430 \u043a\u043e\u043f\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0435 \u0438 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <b>flash<\/b>. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u044f \u043c\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0432\u0443\u043c\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e: <b>origin<\/b> \u0438 <b>flash<\/b>.<\/p>\n<p>  \u0418\u043c\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043a \u0438\u043c\u0435\u043d\u0438 \u0432\u0435\u0442\u043a\u0438, \u0447\u0442\u043e\u0431 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u0432\u0435\u0442\u043a\u0443 \u043e\u0442 \u0447\u0443\u0436\u043e\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <i>master<\/i> \u0438 <i>origin\/master<\/i><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0440\u044e\u043a<\/b><\/p>\n<div class=\"spoiler_text\"><i>master<\/i> \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 <b>origin<\/b> \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a <i>origin\/master<\/i>. \u041d\u043e \u043a\u0430\u043a \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0435 \u0438\u043c\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0435 &#8216;\/&#8217;.<br \/>  \u0422.\u0435. \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c &quot;<i>origin\\\/master<\/i>&quot;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u043e\u0439 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u0441 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u043e\u0439 <i>master<\/i> \u0438\u043c\u0435\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. Git \u043f\u043e\u0441\u043b\u0443\u0448\u043d\u044b\u0439, \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u0451, \u0447\u0442\u043e \u0432\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u0435. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c.  <\/div>\n<\/div>\n<p>  \u0412 \u0441\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u043e <code>git remote<\/code> \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u0441\u0451 \u043e\u043f\u0438\u0441\u0430\u043d\u043e. \u041a\u0430\u043a \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f, \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b: add, rm, rename, show. <br \/>  <code>show<\/code> \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git remote show origin  * remote origin   Fetch URL: \/home\/sirex\/proj\/git-habr\/origin   Push  URL: \/home\/sirex\/proj\/git-habr\/origin   HEAD branch: master   Remote branch:     master tracked   Local branch configured for 'git pull':     master merges with remote master   Local ref configured for 'git push':     master pushes to master (fast-forwardable) <\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>add<\/code>:  <\/p>\n<pre><code class=\"bash\">git remote add backup_repo ssh:\/\/user@myserver:backups\/myrepo.git # \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440 git push backup_repo master <\/code><\/pre>\n<h5>git fetch<\/h5>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0430\u043c\u0430 \u0437\u0430 \u0441\u0435\u0431\u044f: \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<br \/>  \u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. Git \u043d\u0435 \u0442\u0440\u043e\u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u043a\u043e\u043f\u0438\u044e, \u043d\u0435 \u0442\u0440\u043e\u043d\u0435\u0442 \u0432\u0435\u0442\u043a\u0438 \u0438 \u0442.\u0434.<br \/>  \u0411\u0443\u0434\u0443\u0442 \u0441\u043a\u0430\u0447\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438 \u0438 \u0442\u044d\u0433\u0438. \u042d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u00ab\u043f\u0440\u0438\u0448\u043b\u0438\u00bb \u043a \u0432\u0430\u043c.<\/p>\n<p>  \u041d\u0438\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b push, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 origin, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 fetch:  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git push origin master  Counting objects: 29, done. Delta compression using up to 4 threads. Compressing objects: 100% (21\/21), done. Writing objects: 100% (27\/27), 2.44 KiB, done. Total 27 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (27\/27), done. To \/home\/sirex\/proj\/git-habr\/origin    d80e5f1..a3ae806  master -&gt; master <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 dev2 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"bash\">dev2(master)$ git log commit d80e5f1746856a7228cc27072fa71f1c087d649a Author: jsirex Date:   Thu Apr 4 04:21:07 2013 +0300      Init Project # \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: dev2(master)$ git fetch origin  remote: Counting objects: 29, done. remote: Compressing objects: 100% (21\/21), done. remote: Total 27 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (27\/27), done. From \/home\/sirex\/proj\/git-habr\/origin    d80e5f1..a3ae806  master     -&gt; origin\/master <\/code><\/pre>\n<p>  \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/793\/33b\/036\/79333b036325395a99d0802131246f0d.png\"\/><br \/>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 <i>master<\/i>. <br \/>  \u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<br \/>  <code>git checkout origin\/master<\/code> \u2014 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439 master, \u0447\u0442\u043e\u0431\u044b \u00ab\u043f\u043e\u0449\u0443\u043f\u0430\u0442\u044c\u00bb \u0435\u0433\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u043b\u044c\u0437\u044f \u044d\u0442\u0443 \u0432\u0435\u0442\u043a\u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u0439.<br \/>  <code>git merge origin\/master<\/code> \u2014 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438. \u0422.\u043a. \u0443 \u043d\u0430\u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u0431\u044b\u043b\u043e, \u0442\u043e merge \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u0432 fast-forward:  <\/p>\n<pre><code class=\"bash\">dev2(master)$ git merge origin\/master  Updating d80e5f1..a3ae806 Fast-forward  README.md        |    2 ++  collider.init.sh |   31 +++++++++++++++++++++++++++++++  trash.txt        |    2 ++  3 files changed, 35 insertions(+)  create mode 100755 collider.init.sh  create mode 100644 trash.txt <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432 origin \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0442\u043a\u0438, \u0441\u0430\u043c\u043e \u0441\u043e\u0431\u043e\u0439 fetch \u0438\u0445 \u0442\u043e\u0436\u0435 \u0441\u043a\u0430\u0447\u0430\u0435\u0442. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c <b>fetch<\/b> \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0430 \u043d\u0435 \u0432\u0441\u0435.<br \/>  <b>\u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442<\/b>: \u043a\u043e\u0433\u0434\u0430 \u043a\u0442\u043e-\u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0435\u0442\u043a\u0443 \u0438\u0437 origin, \u0443 \u0432\u0430\u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043e \u043d\u0435\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c <i>origin\/deleted\/branch<\/i>, \u0445\u043e\u0442\u044f \u0435\u0451 \u0443\u0436\u0435 \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>git fetch origin --prune<\/code>.<\/p>\n<h5>git pull<\/h5>\n<p>  <code>git pull<\/code> \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0447\u0442\u043e \u0438 git fetch + git merge. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u0432\u0435\u0442\u043a\u0430\u043c\u0438: <i>master<\/i> \u0441 <i>origin\/master<\/i>, <i>feature<\/i> \u0441 <i>origin\/feature<\/i>. \u0412\u0435\u0442\u043a\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0435 \u043f\u043e \u0438\u043c\u0435\u043d\u0438, \u043a\u0430\u043a \u043a\u0442\u043e-\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c, \u0430 \u0437\u0430 \u0441\u0447\u0451\u0442 <i>upstream tracking branch<\/i>. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c checkout \u043b\u044e\u0431\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b, git \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:  <\/p>\n<ol>\n<li>\u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0435\u0441\u0442\u044c \u043b\u0438 \u0443\u0436\u0435 \u0442\u0430\u043a\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0438 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0431\u0435\u0440\u0451\u0442 \u0435\u0451<\/li>\n<li>\u0435\u0441\u043b\u0438 \u0432\u0435\u0442\u043a\u0438 \u043d\u0435\u0442, \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0435\u0441\u0442\u044c \u043b\u0438 \u043e\u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e <i>origin\/&lt;branch_name&gt;<\/i><\/li>\n<li>\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e <i>&lt;branch_name&gt;<\/i> \u0442\u0430\u043c \u0436\u0435, \u0433\u0434\u0435 \u0438 <i>origin\/&lt;branch_name&gt;<\/i> \u0438 \u00ab\u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u00bb \u044d\u0442\u0438 \u0432\u0435\u0442\u043a\u0438 (branch <i>&lt;branch_name&gt;<\/i> now is tracking remote <i>origin\/&lt;branch_name&gt;<\/i>)<\/li>\n<\/ol>\n<p>  \u0412 \u0444\u0430\u0439\u043b\u0435 <b>.git\/config<\/b> \u043c\u043e\u0436\u043d\u043e \u044d\u0442\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c:  <\/p>\n<pre><code class=\"bash\">[branch &quot;master&quot;]         remote = origin         merge = refs\/heads\/master <\/code><\/pre>\n<p>  \u0412 95% \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0442\u043e <code>git pull<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442 \u0438\u0445 \u0441 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u043e\u0439 \u0438 \u0431\u0443\u0434\u0435\u0442 merge-commit, \u0430 \u043d\u0435 fast-forward. \u041f\u043e\u043a\u0430 \u043c\u044b \u0447\u0442\u043e-\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u043a\u043e\u0434 \u0443\u0441\u0442\u0430\u0440\u0435\u043b \u0438 \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u043e\u0442\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0418\u043b\u0438 \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u0418 \u0447\u0442\u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u043b\u0430\u0441\u044c. \u0412\u043e\u0442 \u044d\u0442\u043e \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c <code>rebase<\/code>.<br \/>  \u0427\u0442\u043e\u0431\u044b git \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <code>rebase<\/code>, \u0430 \u043d\u0435 <code>merge<\/code>, \u043c\u043e\u0436\u043d\u043e \u0435\u0433\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c:  <\/p>\n<pre><code class=\"bash\">git config branch.&lt;branch_name&gt;.rebase true <\/code><\/pre>\n<h5>git push<\/h5>\n<p>  <code>git push origin<\/code> \u2014 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 (tracking) \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u043d\u0443\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f: <code>git push origin branch_name<\/code>.<\/p>\n<p>  \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b:  <\/p>\n<ul>\n<li>\u043a\u0430\u043a \u043c\u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f?<\/li>\n<li>\u043a\u0430\u043a \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0435\u0442\u043a\u0443?<\/li>\n<li>\u043a\u0430\u043a \u043c\u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430?<\/li>\n<li>\u0438 \u0442.\u0434.<\/li>\n<\/ul>\n<p>  \u041d\u0430 \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b: <br \/>  <code>git push origin &lt;\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439_\u043a\u043e\u043c\u043c\u0438\u0442_\u0438\u043b\u0438_\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c&gt;:&lt;\u0438\u043c\u044f_\u0432\u0435\u0442\u043a\u0438_\u0432_origin&gt;<\/code><br \/>  \u041f\u0440\u0438\u043c\u0435\u0440\u044b:  <\/p>\n<pre><code class=\"bash\">git push origin d80e5f1:old_master # \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432\u0435\u0442\u043a\u0430 old_master. \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043a\u043e\u043c\u043c\u0438\u0442 d80e5f1 git push origin my_local_feature:new_feature\/with_nice_name   # \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0435\u0442\u043a\u0443 new_feature\/with_nice_name \u043c\u043e\u0435\u0439 my_local_feature git push origin :dead_feature # \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c &quot;\u043d\u0438\u0447\u0435\u0433\u043e&quot; \u0432 dead_feature. \u0422.\u0435. \u0432\u0435\u0442\u043a\u0430 dead_feature \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0432 \u043d\u0438\u043a\u0443\u0434\u0430. \u042d\u0442\u043e \u0443\u0434\u0430\u043b\u0438\u0442 \u0432\u0435\u0442\u043a\u0443 <\/code><\/pre>\n<p>  <b>\u0412\u0430\u0436\u043d\u043e<\/b>: \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0435 \u0432\u0435\u0442\u043a\u0443, \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0431\u0440\u0430\u043b\u0438 \u0432\u0441\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u043f\u044b\u0442\u0430\u0435\u0442\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432\u0441\u0451 \u043e\u0431\u0440\u0430\u0442\u043d\u043e. Git \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439, \u0432\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 (fast-forward). \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435:<code>rejected! non fast-forward push!<\/code>. <br \/>  \u0418\u043d\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0435, \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e. \u041e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">git push origin master --force # \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0435 <\/code><\/pre>\n<h4>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442<\/h4>\n<p>  \u041a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 push, pull. \u0411\u043e\u043b\u0435\u0435 \u0441\u043c\u0443\u0442\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0447\u0451\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 merge \u0438 rebase. \u0421\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438 \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c. <br \/>  \u041a\u043e\u0433\u0434\u0430 \u043a\u043e\u0433\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0442:<br \/>   \u2014 \u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439?<br \/>  \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c:<br \/>   \u2014 \u042d\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u043e\u0441\u044c \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u00ab\u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0437\u0430\u0434\u00bb.<\/p>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0441\u0435\u0431\u0435 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u043a\u0430\u043a \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0437\u0430\u0434?\u00bb \u0427\u0430\u0441\u0442\u043e \u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430? \u0427\u0435\u0441\u0442\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0431\u0443\u0434\u0435\u0442: \u00ab\u043e\u0447\u0435\u043d\u044c \u0440\u0435\u0434\u043a\u043e\u00bb. \u042f \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435:   <\/p>\n<blockquote><p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0435\u0441\u0442\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0435\u043c \u043e\u0434\u043d\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443.<\/p><\/blockquote>\n<p>  \u0422\u043e, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0438 \u0442\u043e, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u0432\u0430\u043c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c \u2014 \u0441\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435. <\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 %VCS_NAME%? \u0423\u0434\u043e\u0431\u043d\u043e? \u041d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043b\u0435\u0433\u043a\u043e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f? \u0411\u044b\u0441\u0442\u0440\u043e? \u0417\u043d\u0430\u0447\u0438\u0442 \u044d\u0442\u0430 %VCS_NAME% \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043c\u0435\u043d\u044f\u0442\u044c.<\/p>\n<h5>\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c<\/h5>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430. \u0410 \u044d\u0442\u043e:  <\/p>\n<ul>\n<li>\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0435\u043b\u0438\u0437\u043e\u0432 (release)<\/li>\n<li>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a (bug fixing)<\/li>\n<li>\u0421\u0440\u043e\u0447\u043d\u044b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (hotfix)<\/li>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0438\u0447 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e (features development)<\/li>\n<li>\u0412\u044b\u043f\u0443\u0441\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0444\u0438\u0447 \u0438\u043b\u0438 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438<\/li>\n<\/ul>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043d\u0443\u0436\u043d\u043e \u0447\u0451\u0442\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0433\u0434\u0435 \u0438 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f. \u0422.\u043a. \u0432\u0435\u0442\u043a\u0438 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0435 (\u0442.\u0435. \u043d\u0435 \u0442\u0440\u0430\u0442\u044f\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043c\u0435\u0441\u0442\u0430 \u0438 \u0442.\u0434.) \u043f\u043e\u0434 \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438. \u042d\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0439. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043e\u0440\u0430\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438\u0445 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b.<\/p>\n<p>  \u0412 <i>master<\/i> \u043e\u0431\u044b\u0447\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0438 \u043e\u043d \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0440\u0435\u043b\u0438\u0437\u0430 \u043a \u0440\u0435\u043b\u0438\u0437\u0443. \u041d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043b\u0438\u0448\u043d\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 tag \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u0438, \u0442.\u043a. <i>master<\/i> \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f.<br \/>  \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0432\u0435\u0442\u043a\u0430 \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0442\u0430 \u0441\u0430\u043c\u0430\u044f \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0451 \u0441\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c <i>master<\/i>. \u0415\u0451 \u0431\u0443\u0434\u0443\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u043b\u0438\u0437\u0430, \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0441\u043b\u0438\u0432\u0430\u0442\u044c \u0432 <i>master<\/i>. \u041d\u0430\u0437\u043e\u0432\u0451\u043c \u044d\u0442\u0443 \u0432\u0435\u0442\u043a\u0443 <i>dev<\/i>.<br \/>  \u0415\u0441\u043b\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c hotfix, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e <i>master<\/i> \u0438\u043b\u0438 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c\u0443 \u0442\u044d\u0433\u0443, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u043c \u0432\u0435\u0442\u043a\u0443 <i>hotfix\/version<\/i> \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u043d\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. <br \/>  \u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u0438\u0447 \u0443\u0434\u043e\u0431\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0438 <i>feature\/&lt;feature_name&gt;<\/i>. \u041d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0442\u043a\u0443 \u043b\u0443\u0447\u0448\u0435 \u0441 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u00ab\u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c\u00bb \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 <i>dev<\/i> \u043a \u0441\u0435\u0431\u0435. \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439, \u0432\u0435\u0442\u043a\u0443 \u043b\u0443\u0447\u0448\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043d\u0430 <i>dev<\/i> (<code>git rebase dev<\/code>).<br \/>  \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u043b\u043a\u0438\u0445 \u0431\u0430\u0433\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0438\u0434\u0442\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 <i>dev<\/i>. \u041d\u043e \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043c\u0435\u043b\u043a\u0438\u0445 \u0431\u0430\u0433\u043e\u0432 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438. \u0418\u0445 \u043d\u0435 \u043d\u0430\u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u042d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0448\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0434\u0430\u0441\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439:  <\/p>\n<ul>\n<li>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0434 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438. \u0417\u0430\u0441\u0442\u0440\u044f\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0431\u0430\u0433\u0435, \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043b\u0438\u0441\u044c \u0432 dev, \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439, \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443. \u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c, \u0431\u0440\u043e\u0441\u0438\u043b\u0438 \u0432\u0441\u0451 \u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0440\u0435\u0442\u0438\u0439.<\/li>\n<li>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441\u0442\u0430\u043b\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0439 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u2014 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u043b\u0438 (rebase) \u0432\u0435\u0442\u043a\u0443 \u0441 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u0430 <i>master<\/i> \u0438\u043b\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 <i>hotfix<\/i> \u0438 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0434\u043d\u0438\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c.<\/li>\n<li>\u0422\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0435\u0442\u043a\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430 <i>feature<\/i>-\u0432\u0435\u0442\u043a\u0438<\/li>\n<li>\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u0435\u0442\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0447\u0435\u0441\u0430\u0442\u044c, \u0443\u0431\u0440\u0430\u0432 \u043e\u0442\u0442\u0443\u0434\u0430 \u043b\u0438\u0448\u043d\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b, \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u0442.\u0434.<\/li>\n<\/ul>\n<h5>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u043e\u0432<\/h5>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0435\u0442\u043a\u0443 <i>dev<\/i> \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0433\u043e\u0432.  <\/p>\n<pre><code class=\"bash\">dev1(master)$ git status # On branch master nothing to commit (working directory clean) dev1(master)$ git checkout -b dev Switched to a new branch 'dev' dev1(dev)$ git push origin dev Total 0 (delta 0), reused 0 (delta 0) To \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      dev -&gt; dev <\/code><\/pre>\n<p>  \u0418 \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u00ab\u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442\u00bb \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u043a \u0441\u0435\u0431\u0435:  <\/p>\n<pre><code class=\"bash\">dev2(master)$ git pull From \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      dev        -&gt; origin\/dev Already up-to-date. <\/code><\/pre>\n<p>  \u041f\u0443\u0441\u0442\u044c 2 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0432\u0435\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u0430\u0434 \u0441\u0432\u043e\u0438\u043c \u0431\u0430\u0433\u043e\u043c \u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 (\u043f\u0443\u0441\u0442\u044c \u0432\u0430\u0441 \u043d\u0435 \u0441\u043c\u0443\u0449\u0430\u0435\u0442, \u0447\u0442\u043e \u044f \u0442\u0430\u043a\u0438\u043c \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432):  <\/p>\n<pre><code class=\"bash\">dev1(dev)$ for i in `seq 1 10`; do STR=`pwgen -C 20 -B 1`; echo $STR &gt;&gt; trash.txt; git commit -m &quot;Added $STR&quot; trash.txt; done [dev 0f019d0] Added ahvaisaigiegheweezee  1 file changed, 1 insertion(+) [dev c715f87] Added eizohshochohseesauge  1 file changed, 1 insertion(+) [dev 9b9672c] Added aitaquuerahshiqueeph  1 file changed, 1 insertion(+) [dev 43dad98] Added zaesooneighufooshiph  1 file changed, 1 insertion(+) [dev 9da2de3] Added aebaevohneejaefochoo  1 file changed, 1 insertion(+) [dev e93f93e] Added rohmohpheinugogaigoo  1 file changed, 1 insertion(+) [dev 54ba433] Added giehaokeequokeichaip  1 file changed, 1 insertion(+) [dev 05f72db] Added hacohphaiquoomohxahb  1 file changed, 1 insertion(+) [dev 8c03e0d] Added eejucihaewuosoonguek  1 file changed, 1 insertion(+) [dev cf21377] Added aecahjaokeiphieriequ  1 file changed, 1 insertion(+) <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">dev2(master)$ for i in `seq 1 6`; do STR=`pwgen -C 20 -B 1`; echo $STR &gt;&gt; trash.txt; git commit -m &quot;Added $STR&quot; trash.txt; done [master 1781a2f] Added mafitahshohfaijahney  1 file changed, 1 insertion(+) [master 7df3851] Added ucutepoquiquoophowah  1 file changed, 1 insertion(+) [master 75e7b2b] Added aomahcaashooneefoavo  1 file changed, 1 insertion(+) [master d4dea7e] Added iexaephiecaivezohwoo  1 file changed, 1 insertion(+) [master 1459fdb] Added quiegheemoighaethaex  1 file changed, 1 insertion(+) [master 1a949e9] Added evipheichaicheesahme  1 file changed, 1 insertion(+) <\/code><\/pre>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. Dev1:  <\/p>\n<pre><code class=\"bash\">dev1(dev)$ git push origin dev  Counting objects: 32, done. Delta compression using up to 4 threads. Compressing objects: 100% (30\/30), done. Writing objects: 100% (30\/30), 2.41 KiB, done. Total 30 (delta 19), reused 0 (delta 0) Unpacking objects: 100% (30\/30), done. To \/home\/sirex\/proj\/git-habr\/origin    a3ae806..cf21377  dev -&gt; dev <\/code><\/pre>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a:  <\/p>\n<pre><code class=\"bash\">dev2(master)$ git push origin dev error: src refspec dev does not match any. error: failed to push some refs to '\/home\/sirex\/proj\/git-habr\/origin' <\/code><\/pre>\n<p>  \u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e? \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445 \u043c\u044b \u0445\u043e\u0442\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 <code>pull<\/code>, \u043d\u043e \u0437\u0430\u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 <i>dev<\/i>. \u0410 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0442\u0430\u043b\u0438 \u0432 <i>master<\/i>.<br \/>  \u041a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0441 git \u0441\u0442\u0430\u0440\u0430\u0439\u0442\u0435\u0441\u044c \u00ab\u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0432\u0430\u0442\u044c\u00bb \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0435\u0435. <br \/>  \u042f \u0445\u043e\u0442\u0435\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0432 <i>dev<\/i>. \u0415\u0441\u043b\u0438 \u0431\u044b \u0432\u043c\u0435\u0441\u0442\u043e <code>git push origin dev<\/code> \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e <code>git push<\/code>,<br \/>  \u0442\u043e git \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u043b \u0442\u043e, \u0447\u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u2014 \u043f\u0435\u0440\u0435\u0434\u0430\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e <i>master<\/i> \u0432 <i>origin\/master<\/i>. \u0422\u0430\u043a\u0443\u044e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u0430\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0451 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u041a\u0430\u043a \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435, \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e, \u0432\u0441\u0451 \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u043c\u043e. \u041a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0442\u043e \u043d\u0430\u0434\u0435\u043b\u0430\u043b\u0438 <code>gitk --all<\/code>:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/9f8\/a18\/ee2\/9f8a18ee29927b9786e46ffea1e8bf93.png\"\/><br \/>  \u0423 \u043d\u0430\u0441 \u0432\u043f\u0435\u0440\u0451\u0434 \u00ab\u043f\u043e\u0435\u0445\u0430\u043b\u00bb <i>master<\/i>, \u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u00ab\u043f\u043e\u0435\u0445\u0430\u0442\u044c\u00bb <i>dev<\/i>. \u0412\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e.<br \/>  \u0412\u043e\u0442 \u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a:  <\/p>\n<ol>\n<li>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u0431\u044b\u043b\u043e, \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u043d\u0430 <i>dev<\/i><\/li>\n<li>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 <i>master<\/i> \u0432 <i>dev<\/i>, \u0433\u0434\u0435 \u043e\u043d\u0438 \u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u0431\u044b\u0442\u044c (\u043f\u0440\u044f\u043c\u043e\u0439 \u043f\u0443\u0442\u044c, <i>fast-forward<\/i>, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442)<\/li>\n<li>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 <i>dev<\/i> \u043c\u044b \u0437\u0430\u043f\u0443\u0448\u0438\u043c, \u0430 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 <i>master<\/i> \u00ab\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u00bb \u0432 \u0441\u0442\u0430\u0440\u0443\u044e, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0433\u0434\u0435 \u043e\u043d \u0440\u0430\u043d\u044c\u0448\u0435 \u0438 \u0431\u044b\u043b (\u043d\u0430 <i>origin\/master<\/i>)<\/li>\n<\/ol>\n<p>  \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043c\u043d\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0438 \u0432\u0441\u0451 \u043a\u0430\u043a-\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e. \u041d\u043e, \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0441\u0430\u043c\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u0418 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u043c\u044b \u0443\u0436\u0435 \u0442\u0430\u043a \u0434\u0435\u043b\u0430\u043b\u0438 \u0432\u044b\u0448\u0435. \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435:  <\/p>\n<pre><code class=\"bash\">dev2(master)$ git checkout dev # \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f Branch dev set up to track remote branch dev from origin. Switched to a new branch 'dev' dev2(dev)$ git merge master # \u043d\u0430\u0448 fast-forward Updating a3ae806..1a949e9 Fast-forward  trash.txt |    6 ++++++  1 file changed, 6 insertions(+) dev2(dev)$ git checkout master # \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043d\u0430 master \u0447\u0442\u043e\u0431\u044b... Switched to branch 'master' Your branch is ahead of 'origin\/master' by 6 commits. dev2(master)$ git reset --hard  origin\/master # ... \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u0435\u0433\u043e \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e HEAD is now at a3ae806 Added eisahtaexookaifadoow dev2(master)$ git checkout dev # \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u0432 dev Switched to branch 'dev' Your branch is ahead of 'origin\/dev' by 6 commits. <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/d33\/af9\/92e\/d33af992e10edc791a361fb9d45b8212.png\"\/><br \/>  \u0422\u0435\u043f\u0435\u0440\u044c, \u0432\u0441\u0451 \u043a\u0430\u043a \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e: \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 <i>dev<\/i> \u0438 \u0433\u043e\u0442\u043e\u0432\u044b \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0432 origin.<br \/>  \u041f\u0435\u0440\u0435\u0434\u0430\u0451\u043c:  <\/p>\n<pre><code class=\"bash\">dev2(dev)$ git push origin dev  To \/home\/sirex\/proj\/git-habr\/origin  ! [rejected]        dev -&gt; dev (non-fast-forward) error: failed to push some refs to '\/home\/sirex\/proj\/git-habr\/origin' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 (dev1) \u043e\u0431\u043d\u043e\u0432\u0438\u043b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0442\u0441\u0442\u0430\u043b\u0438\u00bb. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0441\u0434\u0435\u043b\u0430\u0432 <code>git pull<\/code> \u0438\u043b\u0438 <code>git fetch<\/code>. \u0422.\u043a. git pull \u0441\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0432\u0435\u0442\u043a\u0438, \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c git fetch, \u0442.\u043a. \u043e\u043d \u0434\u0430\u0451\u0442 \u043c\u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c\u0441\u044f \u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0436\u0435:  <\/p>\n<pre><code class=\"bash\">dev2(dev)$ git fetch origin  remote: Counting objects: 32, done. remote: Compressing objects: 100% (30\/30), done. remote: Total 30 (delta 19), reused 0 (delta 0) Unpacking objects: 100% (30\/30), done. From \/home\/sirex\/proj\/git-habr\/origin    a3ae806..cf21377  dev        -&gt; origin\/dev <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/dcf\/bcc\/bb5\/dcfbccbb5d4b90d0350e06a132225620.png\"\/><br \/>  \u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<ol>\n<li>\u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0441\u0442\u0435\u0440\u0435\u0432 \u0442\u043e, \u0447\u0442\u043e \u0442\u0430\u043c \u0431\u044b\u043b\u043e: <code>git push origin dev --force<\/code><\/li>\n<li>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0432\u0435\u0442\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <code>git merge origin\/dev<\/code> \u0438 \u043f\u043e\u0442\u043e\u043c <code>git push origin dev<\/code> (\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c)<\/li>\n<li>\u041f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430\u0448\u0443 \u0432\u0435\u0442\u043a\u0443 \u043d\u0430\u0432\u0435\u0440\u0445 \u043d\u043e\u0432\u043e\u0439, \u0447\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u0442 \u043e\u0442 \u043b\u0438\u0448\u043d\u0435\u0433\u043e \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f: <code>git rebase origin\/dev<\/code> \u0438 \u043f\u043e\u0442\u043e\u043c <code>git push origin dev<\/code>.<\/li>\n<\/ol>\n<p>  \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f 3\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c, \u043f\u0440\u0438\u0447\u0451\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435:  <\/p>\n<pre><code class=\"bash\">dev2(dev)$ git rebase -i origin\/dev # \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e  \u0432\u0435\u0442\u043a\u0443 \u043d\u0430 origin\/dev <\/code><\/pre>\n<p>  \u041d\u0430\u043c \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0438 \u0434\u0430\u0441\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0448\u0443 \u0438\u0441\u0442\u043e\u0440\u0438\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0438\u043b\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e. \u041e\u0431 \u044d\u0442\u043e\u043c \u043f\u0438\u0441\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435. \u042f \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u043a\u0430\u043a \u0435\u0441\u0442\u044c:  <\/p>\n<pre><code class=\"bash\">pick 1781a2f Added mafitahshohfaijahney pick 7df3851 Added ucutepoquiquoophowah pick 75e7b2b Added aomahcaashooneefoavo pick d4dea7e Added iexaephiecaivezohwoo pick 1459fdb Added quiegheemoighaethaex pick 1a949e9 Added evipheichaicheesahme  # Rebase cf21377..1a949e9 onto cf21377 # # Commands: #  p, pick = use commit #  r, reword = use commit, but edit the commit message #  e, edit = use commit, but stop for amending #  s, squash = use commit, but meld into previous commit #  f, fixup = like &quot;squash&quot;, but discard this commit's log message #  x, exec = run command (the rest of the line) using shell # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # However, if you remove everything, the rebase will be aborted. # <\/code><\/pre>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b. \u0420\u0435\u0448\u0430\u0435\u043c \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 <code>git mergetool<\/code> (\u0438\u043b\u0438 \u043a\u0430\u043a \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u0435\u0435) \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0443 <code>git rebase --continue<\/code><br \/>  \u0422.\u043a. \u0443 \u043c\u0435\u043d\u044f \u0432\u0441\u0451 \u0432\u0440\u0435\u043c\u044f \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b, \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u043d\u0435 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u043d\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0447\u0430\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430, \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0418\u043b\u0438 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0435\u0434\u043a\u0438\u043c\u0438.<br \/>  \u041e\u0442\u0441\u044e\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 <b>\u043f\u0430\u0440\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043f\u0440\u0430\u0432\u0438\u043b<\/b>:  <\/p>\n<ul>\n<li>\u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u0435 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0432\u044b \u0434\u0435\u043b\u0430\u043b\u0438 \u0444\u0438\u0447\u0443 \u0438 \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u0431\u0430\u0433 \u0432 \u043a\u043e\u0434\u0435, \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c. \u041f\u043e\u0437\u0436\u0435, \u043f\u0440\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438, \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0435\u0448\u0430\u0442\u044c, \u0442.\u043a. \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0441 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u043c \u0438 \u043a \u0447\u0435\u043c\u0443 \u043e\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f. \u0414\u0443\u043c\u0430\u0439\u0442\u0435 \u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445, \u043a\u0430\u043a \u043e \u043a\u0438\u0440\u043f\u0438\u0447\u0438\u043a\u0430\u0445, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u0438\u0440\u043f\u0438\u0447 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d.<\/li>\n<li>\u0421\u0442\u0430\u0440\u0430\u0439\u0442\u0435\u0441\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u043b\u0430\u0441\u044c, \u0442.\u0435. \u043d\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u043c\u0435\u0441\u0442\u0430\u0445. \u0415\u0441\u043b\u0438 \u043b\u043e\u0433\u0438\u043a\u0430 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0432 \u0434\u0432\u0443\u0445 \u0432\u0435\u0442\u043a\u0430\u0445, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u044d\u0442\u043e\u0442 \u043a\u043b\u0430\u0441\u0441 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0410 \u0442\u043e \u0438 \u0432\u043e\u0432\u0441\u0435 \u0432\u0441\u0451 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u0441\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b \u0440\u0435\u0448\u0435\u043d\u044b, \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0438 \u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0439. \u0414\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u044f \u043f\u043e\u043c\u0435\u043d\u044f\u043b \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 (\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 rebase \u0434\u0430\u0451\u0442 \u044d\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c):<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/45c\/255\/c54\/45c255c5420bbcb4379fca32d0843839.png\"\/><br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448\u0430 \u0432\u0435\u0442\u043a\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 origin\/dev \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u0448\u044c \u043e\u0442\u0434\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0434 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b:  <\/p>\n<pre><code class=\"bash\">dev2(dev)$ git push origin dev  Counting objects: 20, done. Delta compression using up to 4 threads. Compressing objects: 100% (18\/18), done. Writing objects: 100% (18\/18), 1.67 KiB, done. Total 18 (delta 11), reused 0 (delta 0) Unpacking objects: 100% (18\/18), done. To \/home\/sirex\/proj\/git-habr\/origin    cf21377..8212c4b  dev -&gt; dev <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u043b\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0431\u0430\u0433\u0430\u043c\u0438, \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435, \u0443\u0434\u043e\u0431\u043d\u043e \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438 \u0438\u0437 <i>dev<\/i> \u0438\u043b\u0438 <i>origin\/dev<\/i>.<\/p>\n<p>  <b>\u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0438\u0442\u043e\u0433<\/b>: \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u043e \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443:  <\/p>\n<ol>\n<li>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u0432\u0435\u0442\u043a\u0435 <i>dev<\/i> \u0438\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439<\/li>\n<li>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438\u0437 origin (<code>git fetch origin<\/code>)<\/li>\n<li>\u041f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e (<code>git rebase -i origin\/dev<\/code>)<\/li>\n<li>\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 origin (<code>git push origin dev<\/code>)<\/li>\n<\/ol>\n<h5>Feature branch<\/h5>\n<p>  \u0411\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u043a, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u0443\u0441\u043e\u043a \u0440\u0430\u0431\u043e\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d. \u041d\u0430\u0434 \u0442\u0430\u043a\u0438\u043c\u0438 \u0432\u0435\u0442\u043a\u0430\u043c\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041e\u0447\u0435\u043d\u044c \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0439 \u0438 \u043e\u0431\u044a\u0451\u043c\u043d\u044b\u0439 \u0431\u0430\u0433 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 git \u043a\u0430\u043a \u0444\u0438\u0447\u0430 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430, \u043d\u0430\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a. \u0421\u0430\u043c \u0436\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043a\u0430\u043a \u0438 \u043f\u0440\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0431\u0430\u0433\u043e\u0432. \u0422\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0438\u0434\u0451\u0442 \u043d\u0435 \u0441 <i>dev<\/i>, \u0430 \u0441 <i>feature\/name<\/i> \u0432\u0435\u0442\u043a\u043e\u0439.<br \/>  \u0412\u043e\u043e\u0431\u0449\u0435, \u0442\u0430\u043a\u0438\u0435 \u0432\u0435\u0442\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e-\u0436\u0438\u0432\u0443\u0449\u0438\u043c\u0438 (1-2 \u043d\u0435\u0434\u0435\u043b\u044f) \u0438 \u0434\u043e\u043b\u0433\u043e-\u0436\u0438\u0432\u0443\u0449\u0438\u043c\u0438 (\u043c\u0435\u0441\u044f\u0446 \u0438 \u0431\u043e\u043b\u0435\u0435). \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0447\u0435\u043c \u0434\u043e\u043b\u044c\u0448\u0435 \u0436\u0438\u0432\u0451\u0442 \u0432\u0435\u0442\u043a\u0430, \u0442\u0435\u043c \u0447\u0430\u0449\u0435 \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c, \u00ab\u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u044f\u00bb \u0432 \u043d\u0435\u0451 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438. \u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0442\u043a\u0430, \u0442\u0435\u043c, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0431\u043e\u043b\u044c\u0448\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432 \u043f\u043e \u0435\u0451 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u044e. <\/p>\n<h6>\u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u043a\u043e\u0440\u043e\u0442\u043a\u043e-\u0436\u0438\u0432\u0443\u0449\u0438\u0445 (short-live feature branches)<\/h6>\n<p>  \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u0435\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043a\u043e\u0434\u0430, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u0432\u0435\u0442\u043a\u0438 dev:  <\/p>\n<pre><code class=\"bash\">dev1(dev)$ git fetch origin  remote: Counting objects: 20, done. remote: Compressing objects: 100% (18\/18), done. remote: Total 18 (delta 11), reused 0 (delta 0) Unpacking objects: 100% (18\/18), done. From \/home\/sirex\/proj\/git-habr\/origin    cf21377..8212c4b  dev        -&gt; origin\/dev dev1(dev)$ git branch --no-track feature\/feature1 origin\/dev # \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0443 feature\/feature1 \u0438\u0437 origin\/dev, \u043d\u043e \u043d\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043c\u0435\u0441\u0442\u0435 dev1(dev)$ git push origin feature\/feature1 # \u043e\u0442\u0434\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0432 \u043e\u0431\u0449\u0438\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u043c  Total 0 (delta 0), reused 0 (delta 0) To \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      feature\/feature1 -&gt; feature\/feature1 <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430 feature1 \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0441\u0442\u0438 \u0432 \u0432\u0435\u0442\u043a\u0435 <i>feature\/feature1<\/i>. \u0421\u043f\u0443\u0441\u0442\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u0432\u0435\u0442\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 feature1 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 <i>dev<\/i> \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0418 \u043d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043e\u0442\u0434\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 <i>dev<\/i>.<br \/>  \u0412\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/d29\/9f5\/509\/d299f5509126171bf86dd65d8498ce0f.png\"\/><br \/>  \u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e: \u0434\u0432\u0435 \u0432\u0435\u0442\u043a\u0438, \u043e\u0434\u043d\u0443 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435, \u044d\u0442\u043e \u0434\u0432\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 (\u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0435) \u0432\u0435\u0442\u043a\u0438, \u0430 \u043d\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0438. \u041a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430, \u043e\u0434\u0438\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u00ab\u0441\u043b\u0438\u0442\u044c\u00bb \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 <i>dev<\/i> \u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0435\u0442\u043a\u0443. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u044d\u0442\u0443 \u0432\u0435\u0442\u043a\u0443 \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0431\u0443\u0434\u0435\u0442 \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e.<br \/>  \u0410 \u0434\u0430\u043b\u044c\u0448\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0447\u0442\u0438 \u0442\u0430\u043a\u043e\u0439 \u043a\u0430\u043a \u0438 \u0431\u044b\u043b:  <\/p>\n<pre><code class=\"bash\">git fetch origin # \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 git rebase -i origin\/dev # \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u0441\u044f, \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0443 \u043d\u0430\u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0431\u044b feature1 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u0440\u044f\u043c\u043e \u0432 dev \u0437\u0430 \u043e\u0434\u043d\u043e \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u0438\u0435. \u041f\u0438\u0448\u0443 origin\/dev, \u0430 \u043d\u0435 dev \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0442\u043a\u0430 \u0443\u0448\u043b\u0430 \u0432\u043f\u0435\u0440\u0451\u0434, \u0430 \u043d\u0430\u0448\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 git checkout dev # \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0432\u0435\u0442\u043a\u0443, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f git merge feature\/feature1 # \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 git reset --hard feature\/feature1. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0431\u044b\u043b fast-forward. <\/code><\/pre>\n<p>  \u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, feature1 \u0441\u0442\u0430\u043b\u0430 \u0447\u0430\u0441\u0442\u044c\u044e dev, \u0442\u043e \u0447\u0442\u043e \u043d\u0430 \u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/4a4\/319\/a18\/4a4319a18736c0543d60fbd6d29bf697.png\"\/><br \/>  \u0414\u0435\u043b\u0430\u0435\u043c push \u0438 \u0447\u0438\u0441\u0442\u0438\u043c \u0437\u0430 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435\u043d\u0443\u0436\u043d\u043e\u0435:  <\/p>\n<pre><code class=\"bash\">dev1(dev)$ git push origin dev  Counting objects: 11, done. Delta compression using up to 4 threads. Compressing objects: 100% (9\/9), done. Writing objects: 100% (9\/9), 878 bytes, done. Total 9 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (9\/9), done. To \/home\/sirex\/proj\/git-habr\/origin    3272f59..e514869  dev -&gt; dev dev1(dev)$ git push origin :feature\/feature1 # \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e To \/home\/sirex\/proj\/git-habr\/origin  - [deleted]         feature\/feature1 dev1(dev)$ git branch -d feature\/feature1 # \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e Deleted branch feature\/feature1 (was e514869). <\/code><\/pre>\n<h6>\u0414\u043e\u043b\u0433\u043e-\u0436\u0438\u0432\u0443\u0449\u0438\u0435 \u0432\u0435\u0442\u043a\u0438 (long-live feature branches)<\/h6>\n<p>  \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u043b\u0433\u043e-\u0436\u0438\u0432\u0443\u0449\u0438\u0445 \u0432\u0435\u0442\u043e\u043a \u0432 \u0438\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0451 \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432\u044b\u0448\u0435 \u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0431\u044b\u0442\u044c \u0431\u0435\u0434\u0435: \u0432\u0440\u0435\u043c\u044f \u0438\u0434\u0451\u0442, \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0430 \u0432\u0430\u0448\u0430 \u0444\u0438\u0447\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0440\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435. \u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u0441\u0442\u0430\u043d\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0444\u0438\u0447\u0443, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0447\u0442\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0442\u044f\u0436\u0451\u043b\u044b\u043c \u0438\u043b\u0438, \u0434\u0430\u0436\u0435, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u0435\u0442\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c. \u0420\u0430\u0437 dev \u0443\u0445\u043e\u0434\u0438\u0442 \u0432\u043f\u0435\u0440\u0451\u0434, \u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0443 \u0432\u0435\u0442\u043a\u0443 \u043d\u0430 dev. <\/p>\n<p>  \u0412\u0441\u0451 \u0431\u044b \u0445\u043e\u0440\u043e\u0448\u043e, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443: \u0432\u0435\u0442\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0431\u044d\u0439\u0437\u0430 \u2014 \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u041e\u043d\u0430 \u043d\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0443\u0436\u0435 \u0431\u044b\u043b\u043e. Git \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: \u0434\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0443\u0442\u0438, \u043d\u0435\u0442 fast-forward&#8217;\u0430. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f.<br \/>  \u041a\u0442\u043e-\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0438 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0430 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0442.\u043a. \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0438 \u0432\u0441\u0451 \u043f\u0440\u043e\u043f\u0430\u0434\u0451\u0442. \u041a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442, \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0443\u0442 \u0441\u0432\u043e\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0443\u0441\u043f\u0435\u044e\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0438 \u0443\u0436\u0435 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443. <s>\u041a\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0440\u0435\u0431\u044d\u0439\u0437\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0435\u0442\u043a\u0438?<\/s><\/p>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435:  <\/p>\n<pre><code class=\"bash\">dev1(dev)$ git checkout -b feature\/long Switched to a new branch 'feature\/long' dev1(feature\/long)$ git push origin dev  Everything up-to-date dev1(feature\/long)$ \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c_\u043c\u043d\u043e\u0433\u043e_\u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 dev1(feature\/long)$ git push origin feature\/long  Counting objects: 11, done. Delta compression using up to 4 threads. Compressing objects: 100% (9\/9), done. Writing objects: 100% (9\/9), 807 bytes, done. Total 9 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (9\/9), done. To \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      feature\/long -&gt; feature\/long <\/code><\/pre>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0432\u0441\u0451 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e:  <\/p>\n<pre><code class=\"bash\">dev2(dev)$ git pull remote: Counting objects: 11, done. remote: Compressing objects: 100% (9\/9), done. remote: Total 9 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (9\/9), done. From \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      feature\/long -&gt; origin\/feature\/long Already up-to-date. dev2(dev)$ git checkout feature\/long  Branch feature\/long set up to track remote branch feature\/long from origin. Switched to a new branch 'feature\/long' dev2(feature\/long)$ \u0434\u0435\u043b\u0430\u0435\u043c \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 dev2(feature\/long)$ git pull --rebase feature\/long # fetch + rebase \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439 dev2(feature\/long)$ git push origin feature\/long  Counting objects: 11, done. Delta compression using up to 4 threads. Compressing objects: 100% (9\/9), done. Writing objects: 100% (9\/9), 795 bytes, done. Total 9 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (9\/9), done. To \/home\/sirex\/proj\/git-habr\/origin    baf4c6b..ce9e58d  feature\/long -&gt; feature\/long <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0435\u0449\u0451 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 <i>dev<\/i> \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u0430\u044f:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/817\/585\/763\/8175857631322ce84455a33638faf134.png\"\/><\/p>\n<p>  \u041d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c <i>feature\/long<\/i>, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e. \u041f\u0443\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 dev1. \u0422\u043e\u0433\u0434\u0430 \u043e\u043d \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 dev2 \u043e\u0431 \u044d\u0442\u043e\u043c \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442:  <\/p>\n<pre><code class=\"bash\">dev1(feature\/long)$ git fetch origin  dev1(feature\/long)$ git rebase -i origin\/dev ... \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0438 \u0442.\u0434.  <\/code><\/pre>\n<p>  \u0412 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f dev2 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u043e \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u0435\u043c\u0443 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u043b\u0430\u0442\u044c push, \u0442.\u043a. \u043d\u0443\u0436\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0435\u0449\u0451 \u043d\u0435\u0442 (\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0430).<br \/>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442 rebase \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/5ce\/215\/815\/5ce2158151915b83871855a563657a16.png\"\/><br \/>  \u0412\u0435\u0442\u043a\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0435\u043d\u0430, \u0430 <i>origin\/feature\/long<\/i> \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0442\u0430\u043c, \u0433\u0434\u0435 \u0438 \u0431\u044b\u043b. \u0426\u0435\u043b\u0438 \u043c\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438:  <\/p>\n<pre><code class=\"bash\">dev1(feature\/long)$ git push origin feature\/long  To \/home\/sirex\/proj\/git-habr\/origin  ! [rejected]        feature\/long -&gt; feature\/long (non-fast-forward) error: failed to push some refs to '\/home\/sirex\/proj\/git-habr\/origin' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. <\/code><\/pre>\n<p>  Git \u043b\u0438\u0448\u043d\u0438\u0439 \u0440\u0430\u0437 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a. \u041d\u043e \u0442\u0435\u043f\u0435\u0440\u044c, \u043c\u044b \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c, \u0438 \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0442\u0430\u043a \u043d\u0430\u0434\u043e:  <\/p>\n<pre><code class=\"bash\">dev1(feature\/long)$ git push origin feature\/long --force Counting objects: 20, done. Delta compression using up to 4 threads. Compressing objects: 100% (18\/18), done. Writing objects: 100% (18\/18), 1.58 KiB, done. Total 18 (delta 12), reused 0 (delta 0) Unpacking objects: 100% (18\/18), done. To \/home\/sirex\/proj\/git-habr\/origin  + ce9e58d...84c3001 feature\/long -&gt; feature\/long (forced update) <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0442\u0440\u0430\u0437\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0438\u0445 \u0438 \u043d\u0430 dev2 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438:  <\/p>\n<pre><code class=\"bash\">dev2(feature\/long)$ git fetch origin  remote: Counting objects: 20, done. remote: Compressing objects: 100% (18\/18), done. remote: Total 18 (delta 12), reused 0 (delta 0) Unpacking objects: 100% (18\/18), done. From \/home\/sirex\/proj\/git-habr\/origin  + ce9e58d...84c3001 feature\/long -&gt; origin\/feature\/long  (forced update) <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/5b9\/5fd\/b4f\/5b95fdb4f730dd830d789010fe7510e9.png\"\/><\/p>\n<p>  \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0430\u0437\u043e\u0448\u043b\u0430\u0441\u044c, \u043d\u0430\u0448\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0435\u043d\u044b, \u043a\u0440\u043e\u043c\u0435 \u043e\u0434\u043d\u043e\u0433\u043e. \u0415\u0441\u043b\u0438 \u0431\u044b \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e, \u0442.\u0435. \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a dev2 \u0447\u0438\u0442\u0430\u043b \u0431\u044b \u0445\u0430\u0431\u0440, \u043f\u043e\u043a\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c <code>feature\/long<\/code> \u043d\u0430 <code>origin\/feature\/long<\/code> \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443. \u041d\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043c\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c. \u0422\u0443\u0442 \u043d\u0430\u043c \u043e\u043f\u044f\u0442\u044c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 rebase, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c <code>--onto<\/code>:<br \/>  <code>git rebase --onto &lt;\u043d\u0430_\u043a\u0430\u043a\u0443\u044e_\u0432\u0435\u0442\u043a\u0443_\u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c&gt; &lt;c_\u043a\u0430\u043a\u043e\u0433\u043e_\u043a\u043e\u043c\u043c\u0438\u0442\u0430_\u0438\u043b\u0438_\u0432\u0435\u0442\u043a\u0438&gt; &lt;\u043f\u043e_\u043a\u0430\u043a\u043e\u0439_\u043a\u043e\u043c\u043c\u0438\u0442_\u0438\u043b\u0438_\u0438\u043c\u044f_\u0432\u0435\u0442\u043a\u0438&gt;<\/code><br \/>  \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0437\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u044c (\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432) \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f. \u0411\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432.<br \/>  \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e \u0437\u0430\u043f\u0438\u0441\u044c <code>HEAD~1<\/code>. \u041a \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 ~N, \u0447\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 N-\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442.<br \/>  <code>HEAD~1<\/code> \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439, \u0430 <code>HEAD~2<\/code> \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439. <code>HEAD~5<\/code> \u2014 5 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043d\u0430\u0437\u0430\u0434. \u0423\u0434\u043e\u0431\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c id.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043c\u0438\u0442:  <\/p>\n<pre><code class=\"bash\">git rebase -i --onto origin\/feature\/long feature\/long~1 feature\/long <\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:  <\/p>\n<ol>\n<li>\u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u043d\u0430 feature\/long, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u043e\u0432\u043e\u0439, \u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u043a\u043e\u043c\u043c\u0438\u0442 (1, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439)<\/li>\n<li>\u043c\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 origin\/feature\/long (\u043d\u043e\u0432\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0443 \u0432\u0435\u0442\u043a\u0438)<\/li>\n<li>\u0441\u0430\u043c\u0430 \u0432\u0435\u0442\u043a\u0430 \u044d\u0442\u0430 feature\/long<\/li>\n<li>\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0435\u0451 \u043d\u0430\u0434\u043e \u043d\u0435 \u0432\u0441\u044e (\u043f\u043e\u0438\u0441\u043a \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430, \u043e\u043d\u0438 \u0442\u0430\u043c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c), \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430 (\u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e). \u0422.\u0435. \u0441 <i>feature\/long~1<\/i><\/li>\n<\/ol>\n<p>  \u0415\u0441\u043b\u0438 \u0431\u044b \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0442\u044f\u043d\u0443\u0442\u044c 4 \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b <code>feature\/long~4<\/code>.  <\/p>\n<pre><code class=\"bash\">dev2(feature\/long)$ git rebase -i --onto origin\/feature\/long feature\/long~1 feature\/long  Successfully rebased and updated refs\/heads\/feature\/long. <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/c3a\/1f5\/3e5\/c3a1f53e596fc271bf3dd90cc36d129f.png\"\/><br \/>  \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 <b>\u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f<\/b> \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0433\u043b\u0430 \u0431\u044b \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0438 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0438 \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u2014 <code>git cherry-pick<\/code>.<br \/>  \u041d\u0430\u0445\u043e\u0434\u044f\u0441\u044c \u0432 \u043b\u044e\u0431\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c git \u0432\u0437\u044f\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043c\u0435\u0441\u0442\u0435. \u041d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u043a\u043e\u043c\u043c\u0438\u0442 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u00ab\u0443\u0442\u0430\u0449\u0438\u0442\u044c\u00bb:  <\/p>\n<pre><code class=\"bash\">git reset --hard origin\/feature\/long && git cherry-pick commit_id # commit_id \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0442.\u043a. \u043f\u043e\u0441\u043b\u0435 reset \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 <\/code><\/pre>\n<h6>Hotfixes<\/h6>\n<p>  Hotfix\u044b \u043d\u0443\u0436\u043d\u044b, \u0442.\u043a. \u0431\u044b\u0432\u0430\u044e\u0442 \u043e\u0447\u0435\u043d\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0435 \u0431\u0430\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 hotfix-\u043e\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u0434, \u0442.\u043a. \u043e\u043d \u043d\u0435 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d. \u042d\u0442\u043e \u0442\u043e\u0442, \u0433\u0434\u0435 \u0443 \u0432\u0430\u0441 \u043e\u0441\u0442\u0430\u043b\u0441\u044f <i>tag<\/i> \u0438\u043b\u0438 <i>master<\/i>. \u0422\u044d\u0433\u0438 \u0438\u0433\u0440\u0430\u044e\u0442 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u0443\u044e \u0440\u043e\u043b\u044c, \u043f\u043e\u043c\u043e\u0433\u0430\u044f \u043f\u043e\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043e \u0438 \u043a\u0443\u0434\u0430 \u044d\u0442\u043e \u043f\u043e\u043f\u0430\u043b\u043e.<br \/>  \u0422\u044d\u0433\u0438 \u0434\u0435\u043b\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>git tag &lt;tagname&gt;<\/code> \u0438 \u0442\u043e\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c &#8216;\/&#8217; \u0432 \u0441\u0432\u043e\u0451\u043c \u0438\u043c\u0435\u043d\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u0432\u044b\u043f\u0443\u0441\u043a\u0430 hotfix-\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e:  <\/p>\n<ol>\n<li>\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0443 hotfix \u0438\u0437 tag \u0438\u043b\u0438 master<\/li>\n<li>\u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (\u0438\u043b\u0438 cherry-pick \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0432\u0434\u0440\u0443\u0433 \u0443\u0436\u0435 \u0433\u0434\u0435-\u0442\u043e \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438)<\/li>\n<li>\u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u044d\u0433<\/li>\n<li>\u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0431\u0438\u043b\u0434<\/li>\n<li>\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e cherry-pick \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u0442\u0430\u043c \u043d\u0435 \u0431\u044b\u043b\u043e. \u0427\u0442\u043e\u0431 \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u043e\u0441\u044c.<\/li>\n<\/ol>\n<p>  \u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043c \u043d\u0430\u0448 \u043f\u043b\u0430\u043d \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b git:  <\/p>\n<pre><code class=\"bash\">dev2(feature\/long)$ git checkout master  Switched to branch 'master' dev2(master)$ git tag release\/1.0 # \u0442\u044d\u0433 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430, \u043f\u0443\u0441\u0442\u044c \u043e\u043d \u0443\u0436\u0435 \u0431\u044b\u043b dev2(master)$ git checkout -b hotfix\/1.0.x Switched to a new branch 'hotfix\/1.0.x' dev2(hotfix\/1.0.x)$ .. \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u044b dev2(hotfix\/1.0.x)$ git push origin hotfix\/1.0.x  Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3\/3), done. Writing objects: 100% (3\/3), 302 bytes, done. Total 3 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (3\/3), done. To \/home\/sirex\/proj\/git-habr\/origin  * [new branch]      hotfix\/1.0.x -&gt; hotfix\/1.0.x dev2(hotfix\/1.0.x)$ git tag release\/1.0.1 # \u0434\u0435\u043b\u0430\u0435\u043c \u0442\u044d\u0433 dev2(hotfix\/1.0.x)$ git checkout dev # \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 Switched to branch 'dev' dev2(dev)$ git cherry-pick release\/1.0.1 # \u043b\u0435\u043d\u044c \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c id, \u0437\u0430\u0442\u043e \u0435\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c \u043a\u043e\u043c\u043c\u0438\u0442. # \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u0435\u0440\u0438\u0442\u0435 git commit dev2(dev)$ git commit  [dev 9982f7b] Added rahqueiraiheinathiav  1 file changed, 1 insertion(+) dev2(dev)$ git push origin dev  Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3\/3), done. Writing objects: 100% (3\/3), 328 bytes, done. Total 3 (delta 2), reused 0 (delta 0) Unpacking objects: 100% (3\/3), done. To \/home\/sirex\/proj\/git-habr\/origin    b21f8a5..9982f7b  dev -&gt; dev <\/code><\/pre>\n<p>  \u0411\u044b\u0441\u0442\u0440\u043e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u0435 \u0442\u0430\u043a \u043b\u0438? \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0431\u044b\u043b\u043e 2 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0432 <i>hotfixes<\/i>, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0449\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c 2 \u0440\u0430\u0437\u0430 <code>cherry-pick<\/code> \u0432 <i>dev<\/i>. \u041d\u043e \u0435\u0441\u043b\u0438 \u0438\u0445 \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u044f\u0442\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>git rebase --into ...<\/code> \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0446\u0435\u043b\u0443\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432.<\/p>\n<h4>\u0412\u0441\u044f\u043a\u0438\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p>  Git \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c alias\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u042d\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434. \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0435 \u0431\u0443\u0434\u0443, \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0438\u0445 \u043f\u043e\u043b\u043d\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0438\u0449\u0438\u0442\u0435.<\/p>\n<p>  \u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 \u0441\u0430\u043c\u0438\u0445 \u0441\u0435\u0431\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432 \u043f\u043e\u0440\u044f\u0434\u043e\u043a.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043b\u043e\u0433\u0430\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u043e\u0435:  <\/p>\n<pre><code class=\"bash\">9982f7b Finally make test works b21f8a5 Fixed typo in Test 3eabaab Fixed typo in Test e514869 Added Test for Foo b4439a2 Implemented Method for Foo 250adb1 Added class Foo <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u0430\u043c\u0438 \u0441\u0435\u0431\u044f, \u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 6 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u043d\u0430\u0437\u0430\u0434:  <\/p>\n<pre><code class=\"bash\">dev2(dev)$ git rebase -i dev~6 # \u0442.\u043a. \u043d\u0430\u043c \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0432 origin\/dev \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u043d\u0435\u0433\u043e dev2(dev)$ git rebase -i origin\/dev <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c (squash) \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0432 \u043e\u0434\u0438\u043d \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0447\u0435\u0442\u044b\u0440\u0435. \u0422\u043e\u0433\u0434\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"bash\">0f019d0 Added Test for class Foo a3ae806 Implemented class Foo <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u043e\u0435 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043e\u0431\u0449\u0438\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439.<\/p>\n<p>  \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435, \u0447\u0442\u043e \u0443\u043c\u0435\u0435\u0442 <code>git config<\/code> \u0438 <code>git config --global<\/code>. \u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043d\u0430\u0447\u043d\u0451\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c, \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0432\u043e\u0439 username \u0438 email:  <\/p>\n<pre><code class=\"bash\">git config --global user.name sirex git config --global user.email jsirex@gmail.com <\/code><\/pre>\n<p>  \u041d\u0430 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0443 \u043d\u0430\u0441 \u0432\u0435\u043b\u0430\u0441\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u0438\u0445 \u0444\u0438\u0447. \u041e\u043d\u0438 \u0432\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0442\u043a\u0430\u0445, \u043d\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u043c\u0435\u0441\u0442\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u0438\u043b\u0434\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0433\u043e\u0442\u043e\u0432\u044b \u0444\u0438\u0447\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442: \u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043d\u0430\u0439\u0442\u0438\u0441\u044c \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0435 \u0431\u0430\u0433\u0438. \u0418 \u0441\u0442\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441: \u043a\u0430\u043a \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430\u0434 \u0432\u0441\u0435\u043c\u0438 \u0444\u0438\u0447\u0430\u043c\u0438 \u043d\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044f \u0438\u0445 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430, \u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044f \u0432\u0441\u0451 \u043f\u0435\u0440\u0435\u0434 \u0440\u0435\u043b\u0438\u0437\u043e\u043c? \u041f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0435? Git \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0438 \u0432\u043e\u0442 \u043a\u0430\u043a:  <\/p>\n<ol>\n<li>\u0434\u043b\u044f \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u0438\u043b\u0434\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430, \u043a\u0443\u0434\u0430 \u0432\u0441\u0435 \u0444\u0438\u0447\u0438 \u043c\u0435\u0440\u0436\u0438\u043b\u0438\u0441\u044c (<code>git merge --no-ff<\/code>)<\/li>\n<li>\u0432\u0435\u0442\u043a\u0430 \u043e\u0442\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u043d\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/li>\n<li>\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0430\u0441\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u0432\u0435\u0442\u043a\u0430\u0445<\/li>\n<li>\u043d\u043e\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u044f\u0442\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u043b\u0438\u0441\u044c (<code>git merge --no-ff<\/code>)<\/li>\n<li>\u0415\u0441\u043b\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u0443\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c, \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0441 \u043d\u0435\u0439 \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442 \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u043f\u044f\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u0434\u0451\u0442\u0441\u044f \u043d\u0430 \u043c\u043d\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0442\u043e\u043a. \u0410 \u0438\u0445 \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0441\u043d\u043e\u0432\u0430 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c<\/li>\n<li>\u041a\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0444\u0438\u0447\u0430 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0430 \u0433\u043e\u0442\u043e\u0432\u0430 \u043a \u0440\u0435\u043b\u0438\u0437\u0443, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0451 \u043e\u0434\u043d\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 <i>dev<\/i> \u0438 \u043f\u0440\u043e\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c \u0432 \u0440\u0435\u043b\u0438\u0437.<\/li>\n<li>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438, \u043d\u0435\u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0432\u0435\u0442\u043a\u0430\u043c\u0438, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f<\/li>\n<\/ol>\n<h4>\u0412\u044b\u0432\u043e\u0434\u044b<\/h4>\n<ul>\n<li>Git \u043e\u0447\u0435\u043d\u044c \u0433\u0438\u0431\u043a\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u043d\u0435 \u043b\u0443\u0447\u0448\u0435, \u043d\u0435 \u0445\u0443\u0436\u0435 \u0434\u0440\u0443\u0433\u0438\u0445. \u041e\u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435.<\/li>\n<li>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 git, \u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0445\u0430\u043b\u044f\u0432\u044b \u0438\u043b\u0438 \u043c\u0430\u0433\u0438\u0438, \u0447\u0442\u043e \u043e\u043d\u043e \u0441\u0430\u043c\u043e \u043a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435. \u0412\u0430\u043c <b>\u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f<\/b> \u0435\u0433\u043e \u0432\u044b\u0443\u0447\u0438\u0442\u044c.<\/li>\n<li>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0443\u0447\u0438\u0442\u044c git \u0438 \u0432\u0441\u0435 \u0435\u0433\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u043d\u0430\u0434\u043e \u043c\u0435\u0441\u044f\u0446 \u0438\u043b\u0438 \u0434\u0432\u0430 \u00ab\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u043e\u043a\u0440\u0443\u0433, \u0434\u0430 \u043e\u043a\u043e\u043b\u043e\u00bb. \u041f\u043e\u0442\u0440\u0430\u0442\u044c\u0442\u0435 \u043f\u0430\u0440\u0443 \u0447\u0430\u0441\u043e\u0432 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438 \u043f\u0430\u0440\u0443 \u0437\u0430\u0432\u0442\u0440\u0430. \u0412\u0441\u0451 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435.<\/li>\n<li>\u041f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c. \u0422\u0430\u043a \u0432\u044b \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0431\u0443\u0434\u0435\u0442\u0435 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c git, \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0442\u043e\u0447\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0432\u0430\u0442\u044c git&#8217;\u0443 \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u0435 \u043d\u0430\u0434\u043e \u0433\u0430\u0434\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u0430 \u0438\u043b\u0438 \u0438\u043d\u0430\u044f \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0430 \u0432 git gui plugin for %YOUR_IDE%, \u043d\u0435 \u043d\u0430\u0434\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e.<\/li>\n<li>\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0435\u0441\u044c \u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435. 2 \u0447\u0430\u0441\u0430, \u043c\u0438\u0442\u0438\u043d\u0433, \u0434\u043e\u0441\u043a\u0430 \u2014 \u0432\u043e\u0442 \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u043a\u0430 \u043d\u0430 wiki \u0434\u043b\u044f \u0432\u043d\u043e\u0432\u044c \u043f\u0440\u0438\u0431\u044b\u0432\u0448\u0438\u0445 \u0438\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u043b\u0438\u0448\u043d\u0435\u0439.<\/li>\n<li>\u041f\u0438\u0448\u0438\u0442\u0435 \u0432 \u0441\u0432\u043e\u0451 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435, \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0442\u0430\u043a \u0447\u0430\u0441\u0442\u043e, \u043a\u0430\u043a \u0432\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0439\u0442\u0435 \u0438\u0445, \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043f\u0430\u0442\u0447\u0438, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0439\u0442\u0435, \u0448\u0430\u0440\u044c\u0442\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u2014 \u0432 git \u0432\u0441\u0451 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e.<\/li>\n<li>\u041f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u2014 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e git \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c.<\/li>\n<\/ul>\n<p>  <i>PS. \u0427\u0442\u043e \u0442\u0443\u0442 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0438\u0448\u0443\u0442, \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0441\u0442 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435? \u041f\u0440\u043e\u0448\u0443 \u043d\u0435 \u0441\u0443\u0434\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u043e, \u043f\u0438\u0441\u0430\u043b \u043a\u0430\u043a \u043c\u043e\u0433.<\/i>    \t \t\t   \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/174467\/\"> http:\/\/habrahabr.ru\/post\/174467\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u042f \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0434\u043e\u043b\u0433\u043e \u0438\u0437\u0443\u0447\u0430\u044e \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e git \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0435\u0437\u0434\u0435, \u0433\u0434\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0436\u043d\u043e. \u041e\u0434\u043d\u0430\u043a\u043e, \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u044f \u0443\u0441\u043f\u0435\u043b \u043c\u043d\u043e\u0433\u043e\u043c\u0443 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c. <\/p>\n<p>  \u042f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0434\u043e\u043d\u0435\u0441\u0442\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u0434\u0435\u0438, \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a \u044d\u0442\u0430 VCS \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:   <\/p>\n<ul>\n<li>\u043c\u043e\u0436\u043d\u043e \u043b\u0438 git \u00ab\u043f\u043e\u0434\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u00bb \u043f\u043e\u0434 \u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u0435 \u043d\u0443\u0436\u0435\u043d?<\/li>\n<li>\u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0451\u043d \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c?<\/li>\n<li>\u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c?<\/li>\n<li>\u0441\u043c\u043e\u0433\u0443\u0442 \u043b\u0438 \u043d\u043e\u0432\u0438\u0447\u043a\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441?<\/li>\n<li>\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c?<\/li>\n<\/ul>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431\u043e \u0432\u0441\u0451\u043c \u043f\u043e-\u043f\u043e\u0440\u044f\u0434\u043a\u0443, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043e\u0441\u043d\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0431\u0443\u0434\u0435\u0442 \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0442\u0435\u043c, \u043a\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0438\u043b\u0438 \u0445\u043e\u0447\u0435\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 git. \u0411\u043e\u043b\u0435\u0435 \u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u0439\u0434\u0443\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0447\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u043e\u0435, \u0443\u043a\u0430\u0436\u0443\u0442 \u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e\u0434\u0435\u043b\u044f\u0442\u0441\u044f \u0441\u043e\u0432\u0435\u0442\u043e\u043c.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-174467","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/174467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=174467"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/174467\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=174467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=174467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=174467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}