{"id":310995,"date":"2020-10-05T15:00:56","date_gmt":"2020-10-05T15:00:56","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=310995"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=310995","title":{"rendered":"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b bash, git, npm \u0438 yarn, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e package.json \u0438 semver"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/522078\/\">\u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a, \u0434\u0440\u0443\u0437\u044c\u044f!<\/p>\n<p>  \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0443 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c bash, git, npm, yarn, package.json \u0438 semver.<\/p>\n<p>  \u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: [dir-name] \u2014 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, | \u2014 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u0438\u043b\u0438\u00bb.<\/p>\n<p>  \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u0442\u0430\u043a \u0432\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0445 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u044b, \u0430 \u043a\u0430\u043a\u0438\u0435 \u043d\u0435\u0442.<\/p>\n<p>  \u0411\u0435\u0437 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u043f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0439.<\/p>\n<p>  \u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<ul>\n<li><a href=\"#bash\">bash<\/a><\/li>\n<li><a href=\"#git\">git<\/a><\/li>\n<li><a href=\"#npm\">npm<\/a><\/li>\n<li><a href=\"#yarn\">yarn<\/a><\/li>\n<li><a href=\"#package\">package.json<\/a><\/li>\n<li><a href=\"#semver\">semver<\/a><\/li>\n<\/ul>\n<p><a name=\"habracut\"><\/a><br \/>  <a name=\"bash\"><\/a><\/p>\n<h3>bash<\/h3>\n<p>  bash \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430: \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 bash \u0431\u044b\u043b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 git.<\/p>\n<p>  \u0421\u043f\u0440\u0430\u0432\u043a\u0430:<\/p>\n<pre><code class=\"javascript\">help <\/code><\/pre>\n<p>  \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<pre><code class=\"javascript\">history <\/code><\/pre>\n<p>  \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430:<\/p>\n<pre><code class=\"javascript\">clear <\/code><\/pre>\n<p>  \u0412\u044b\u0445\u043e\u0434 \u0438\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430:<\/p>\n<pre><code class=\"javascript\">exit <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ make directory mkdir [dir-name] \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 mkdir my-app \/\/ \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0438\u0440\u0435\u0442\u043e\u0440\u0438\u0439 mkdir -p {dir1,dir2} \/\/ \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 mkdir -p my-app\/{css,js} <\/code><\/pre>\n<p>  \u0421\u043c\u0435\u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ change directory cd [dir-name] \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 cd my-app \/\/ \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f cd !$ \/\/ \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f cd .. \/\/ \u043d\u0430 \u0434\u0432\u0430 \u0443\u0440\u043e\u0432\u043d\u044f \u0432\u044b\u0448\u0435 cd ..\/.. \/\/ \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f cd - \/\/ \u0434\u043e\u043c\u0430\u0448\u043d\u044f\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f cd ~ <\/code><\/pre>\n<p>  \u041f\u0443\u0442\u044c \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ print work directory pwd <\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">\/\/ list ls \/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0444\u0430\u0439\u043b\u044b ls -a | -f \/\/ \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \/\/ \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 ls -l <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"javascript\">touch [file-name] \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 touch index.html \/\/ \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432 touch my-app\/{index.html,css\/style.css,js\/script.js} <\/code><\/pre>\n<p>  \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"javascript\">cat [file-name] \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 cat index.html \/\/ \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 cat [file-name] | sort | uniq \/\/ \u043c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 less [file-name] \/\/ q - exit \/\/ n \u0441\u0442\u0440\u043e\u043a \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0430\u0439\u043b\u0430 head -50 [file-name] \/\/ n \u0441\u0442\u0440\u043e\u043a \u0441 \u043a\u043e\u043d\u0446\u0430 \u0444\u0430\u0439\u043b\u0430 tail -50 [file-name] \/\/ \u043f\u043e\u0438\u0441\u043a \u0441\u043b\u043e\u0432\u0430 grep [string] [file-name]  \/\/ \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 unzip [achive-name]  \/\/ \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430 file [file-name] <\/code><\/pre>\n<p>  \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"javascript\">\/\/ copy cp [file1] [file2]  \/\/ move mv [file1] [file2] \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e mv [dir1]\/*.* [dir2]  \/\/ remove rm [file-name] \/\/ \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 rmdir [dir-name] \/\/ \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 rm -r [dir-name] \/\/ \u0438\u043b\u0438 rm -rf [dir-name] <\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">echo [string] \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 echo hello \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c \u0444\u0430\u0439\u043b\u0430 echo hello &gt; greet.txt \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b echo hello &gt;&gt; greet.txt <\/code><\/pre>\n<p>  \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code class=\"javascript\">wget [url] <\/code><\/pre>\n<p>  \u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u044b:<\/p>\n<pre><code class=\"javascript\">true &amp;&amp; echo hello false || echo hello echo hello ; ls <\/code><\/pre>\n<p>  \u041a\u043e\u043d\u0432\u0435\u0439\u0435\u0440:<\/p>\n<pre><code class=\"javascript\">\/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u043e\u0432 \u0441\u0442\u0440\u043e\u043a\u0438 - \\n cat [file] | wc -l <\/code><\/pre>\n<p>  <a name=\"git\"><\/a><\/p>\n<h3>git<\/h3>\n<p>  git \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442.<\/p>\n<p>  <a href=\"https:\/\/git-scm.com\/book\/ru\/v2\" rel=\"nofollow\">\u041a\u043d\u0438\u0433\u0430 Pro Git<\/a>.<\/p>\n<p>  <a href=\"https:\/\/learn.javascript.ru\/screencast\/git#branches-intro\" rel=\"nofollow\">\u0421\u043a\u0440\u0438\u043d\u043a\u0430\u0441\u0442 \u0418\u043b\u044c\u0438 \u041a\u0430\u043d\u0442\u043e\u0440\u0430<\/a>.<\/p>\n<p>  \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442: <a href=\"https:\/\/githowto.com\/ru\" rel=\"nofollow\">Git How To<\/a>.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430: <a href=\"https:\/\/git-scm.com\/downloads\" rel=\"nofollow\">git-scm.com<\/a>.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">git --version <\/code><\/pre>\n<p>  \u0421\u043f\u0440\u0430\u0432\u043a\u0430:<\/p>\n<pre><code class=\"javascript\">git help git help [command-name] git [command-name] --help | -h <\/code><\/pre>\n<p>  \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ --local - \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u043f\u043e \/\/ --global - \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \/\/ --system - \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0442.\u0435. \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 git config --global user.name &quot;My Name&quot; git config --global user.email &quot;myemail@example.com&quot; <\/code><\/pre>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a git config --list | -l --global  \/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a git config --global --edit | -e <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code class=\"javascript\">git init <\/code><\/pre>\n<p>  \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code class=\"javascript\">\/\/ -d - \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, -x - \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, -f - \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f git clean | -dxf <\/code><\/pre>\n<p>  \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439:<\/p>\n<pre><code class=\"javascript\">\/\/ remove git rm [file-name] git rm -r [dir-name]  git rm --force | -f <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">\/\/ git add + git remove \/\/ move git mv [old-file] [new-file] <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code class=\"javascript\">git status <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"javascript\">git add [file-name]  git add --force | -f  \/\/ \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b git add . | --all | -A  \/\/ \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0443\u0441\u0442\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432 \u043d\u0435\u0439 \u043f\u0443\u0441\u0442\u043e\u0439 \u0444\u0430\u0439\u043b .gitkeep <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f (\u043a\u043e\u043c\u043c\u0438\u0442\u0430):<\/p>\n<pre><code class=\"javascript\">\/\/ \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 git commit  \/\/ \u043a\u043e\u043c\u043c\u0438\u0442 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c git add . | -A \/\/ \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c, \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 git commit --message | -m &quot;My Message&quot;  \/\/ \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0435\u0441\u043b\u0438 git add [file-name] \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 git commit --all | -a -m | -am &quot;My Message&quot;  \/\/ \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 git commit --amend &quot;My Message&quot; | --no-edit <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043a\u043e\u043c\u043c\u0438\u0442\u0430:<\/p>\n<pre><code class=\"javascript\">\/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 git show  \/\/ \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 git show [hash] \/\/ \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043f\u0435\u0440\u0432\u044b\u0435 4 \u0441\u0438\u043c\u0432\u043e\u043b\u0430  \/\/ \u043f\u043e\u0438\u0441\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f git show :\/[string]  \/\/ \u043f\u043e\u0438\u0441\u043a \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u043f\u043e \u0442\u0435\u0433\u0443 git show [tag-name] <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c\u0438:<\/p>\n<pre><code class=\"javascript\">git diff HEAD | @ \/\/ HEAD - \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u0435\u0442\u043a\u0430; @ - \u0430\u043b\u0438\u0430\u0441 \u0434\u043b\u044f HEAD  \/\/ staged git diff --staged | --cached  git diff [hash1] [hash2]  \/\/ \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0442\u043a\u0430\u043c\u0438 git diff [branch1]...[branch2]  \/\/ \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c\u0438 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f git commit --verbose | -v  \/\/ \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f git diff --word-diff | --color-words <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"javascript\">git log  \/\/ n - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 git log -n \/\/ --since, --after - \u043f\u043e\u0441\u043b\u0435 \/\/ --until, --before - \u0434\u043e  \/\/ \u0440\u0430\u0437\u043d\u0438\u0446\u0430 git log -p  \/\/ \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 git log --graph --oneline --stat  \/\/ \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 git log --pretty=format \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 git log --pretty=format:'%C(red)%h %C(green)%cd %C(reset)| %C(blue)%s%d %C(yellow)[%an]' --date=short | format-local:'%F %R'  \/\/ \u043f\u043e\u0438\u0441\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u0441\u043b\u043e\u0432\u0443, \u0444\u0430\u0439\u043b\u0443, \u0432\u0435\u0442\u043a\u0435; i - \u0431\u0435\u0437 \u0443\u0447\u0435\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 git log --grep | -G [string] | [file] | [branch] &amp; -i  \/\/ \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0441\u0442\u0440\u043e\u043a\u0430\u043c git log --grep [string1] --grep [string2] --all-match  \/\/ \u043f\u043e\u0438\u0441\u043a \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u0444\u0430\u0439\u043b\u0430 git log -L '\/&lt;head&gt;\/','\/&lt;\\\/head&gt;\/':index.html  \/\/ \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0430\u0432\u0442\u043e\u0440\u0443 git log --author=[name] <\/code><\/pre>\n<p>  \u041e\u0442\u043c\u0435\u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"javascript\">git reset \/\/ --hard - \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0438 \u0438\u043d\u0434\u0435\u043a\u0441 \/\/ --soft - \u0431\u0435\u0437 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \/\/ --mixed - \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: \u0431\u0435\u0437 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u043d\u043e \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c  git reset --hard [hash] | @~ \/\/ @~ - \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0432 HEAD  \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e git reset --hard ORIG_HEAD  \/\/ \u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u0442\u043a\u0438 git checkout  git restore <\/code><\/pre>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0432\u0435\u0442\u043a\u0430\u043c\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0442\u043e\u043a git branch  \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0435\u0442\u043a\u0438 git branch [branch-name]  \/\/ \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0435\u0442\u043a\u0443 git checkout [branch-name]  \/\/ branch + checkout git checkout -b [branch-name]  \/\/ \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 git branch -m [old-branch] [new-branch]  \/\/ \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0442\u043a\u0438 git branch -d [branch-name]  \/\/ \u0441\u043b\u0438\u044f\u043d\u0438\u0435 \u0432\u0435\u0442\u043e\u043a git merge [branch-name] <\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ \u043e\u0431\u044b\u0447\u043d\u043e, \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440  \/\/ \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 \u0441\u043b\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 git checkout --ours  \/\/ \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0437 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u0435\u0442\u043a\u0438 git checkout --theirs  \/\/ \u043e\u0442\u043c\u0435\u043d\u0430 \u0441\u043b\u0438\u044f\u043d\u0438\u044f git reset --merge git merge --abort  \/\/ \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 git checkout --conflict=diff3 --merge [file-name]  \/\/ \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441\u043b\u0438\u044f\u043d\u0438\u0435 git merge --continue <\/code><\/pre>\n<p>  \u0423\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:<\/p>\n<pre><code class=\"javascript\">\/\/ \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 git clone [url] &amp; [dir]  \/\/ \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 git remote git remote show git remote add [shortname] [url] git remote rename [old-name] [new-name]  \/\/ \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \/\/ git fetch + git merge git pull  \/\/ \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 git push <\/code><\/pre>\n<p>  \u0422\u0435\u0433\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 git tag  \/\/ \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430 git tag [tag-name] \/\/\u043f\u0440\u0438\u043c\u0435\u0440 git tag v1-beta  \/\/ \u0430\u043d\u043d\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430 git tag -a v1 -m &quot;My Version 1&quot;  \/\/ \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 git tag -d [tag-name] <\/code><\/pre>\n<p>  \u041e\u0442\u043b\u0430\u0434\u043a\u0430<\/p>\n<pre><code class=\"javascript\">git bisect  git blame  git grep <\/code><\/pre>\n<p>  \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0437\u0430\u043a\u043e\u043c\u043c\u0438\u0447\u0435\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code class=\"javascript\">\/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 git stash  \/\/ \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 git stash pop <\/code><\/pre>\n<p>  \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u0430:<\/p>\n<pre><code class=\"javascript\">git cherry-pick | -x [hash]  \/\/ \u0435\u0441\u043b\u0438 \u0432\u043e\u0437\u043d\u0438\u043a \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \/\/ \u043e\u0442\u043c\u0435\u043d\u0430 git cherry-pick --abort  \/\/ \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c git cherry-pick --continue  git cherry-pick --no-commit | -n  \/\/ --cherry = --cherry-mark --left-right --no-merges git log --oneline --cherry [branch1] [branch2] <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0431\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/p>\n<pre><code class=\"javascript\">git rebase [branch]  \/\/ \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430 \/\/ \u043e\u0442\u043c\u0435\u043d\u0430 git rebase --abort  \/\/ \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c git rebase --skip  \/\/ \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c git rebase --continue  \/\/ \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0441\u043b\u0438\u044f\u043d\u0438\u044f git rebase --preserve-merges | -p  \/\/ \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u043f\u0435\u0440\u0435\u0431\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 git rebase -i [branch] <\/code><\/pre>\n<p>  \u0410\u0432\u0442\u043e\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">\/\/ rerere - reuse recorder resolution \/\/ rerere.enabled true | false \/\/ rerere.autoUpdate true | false \/\/ rerere-train.sh - \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f rerere git rerere forget [file-name] <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044b:<\/p>\n<pre><code class=\"javascript\">git revert @ | [hash]  \/\/ \u043e\u0442\u043c\u0435\u043d\u0430 \u0441\u043b\u0438\u044f\u043d\u0438\u044f \/\/ git reset --hard @~ \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 git revert [hash] -m 1  \/\/ git merge [branch] \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \/\/ \u043e\u0442\u043c\u0435\u043d\u0430 \u043e\u0442\u043c\u0435\u043d\u044b git revert [hash]  \/\/ \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0435 \u0441\u043b\u0438\u044f\u043d\u0438\u0435 \u0441 rebase git rebase [branch1] [branch2] | --onto [branch1] [hash] [branch2]  git merge [branch]  git rebase [hash] --no-ff <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 \u0430\u043b\u0438\u0430\u0441\u043e\u0432 (\u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0439) \u0434\u043b\u044f .gitconfig:<\/p>\n<pre><code class=\"json\">[alias]     aa = add -A     co = checkout     ci = commit -m     st = status     br = branch <\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 .gitconfig:<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">[user] \tname = [My Name] \temail = [myemail@example.com] \tusername = [myusername] [core] \teditor = [myeditor] \twhitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol \tpager = delta [web] \tbrowser = google-chrome [instaweb] \thttpd = apache2 -f [rerere] \tenabled = 1 \tautoupdate = 1 [push] \tdefault = matching [color] \tui = auto [color &quot;branch&quot;] \tcurrent = yellow bold \tlocal = green bold \tremote = cyan bold [color &quot;diff&quot;] \tmeta = yellow bold \tfrag = magenta bold \told = red bold \tnew = green bold \twhitespace = red reverse [color &quot;status&quot;] \tadded = green bold \tchanged = yellow bold \tuntracked = red bold [difftool] \tprompt = false [delta] \tfeatures = line-numbers decorations \tline-numbers = true [delta &quot;decorations&quot;] \tminus-style = red bold normal \tplus-style = green bold normal \tminus-emph-style = white bold red \tminus-non-emph-style = red bold normal \tplus-emph-style = white bold green \tplus-non-emph-style = green bold normal \tfile-style = yellow bold none \tfile-decoration-style = yellow box \thunk-header-style = magenta bold \thunk-header-decoration-style = magenta box \tminus-empty-line-marker-style = normal normal \tplus-empty-line-marker-style = normal normal \tline-numbers-right-format = &quot;{np:^4}\u2502 &quot; [github] \tuser = [username] \ttoken = token [gitflow &quot;prefix&quot;] \tversiontag = v [sequence] \teditor = interactive-rebase-tool [alias] \ta = add --all \tai = add -i \t### \tap = apply \tas = apply --stat \tac = apply --check \t### \tama = am --abort \tamr = am --resolved \tams = am --skip \t### \tb = branch \tba = branch -a \tbd = branch -d \tbdd = branch -D \tbr = branch -r \tbc = rev-parse --abbrev-ref HEAD \tbu = !git rev-parse --abbrev-ref --symbolic-full-name &quot;@{u}&quot; \tbs = !git-branch-status \t### \tc = commit \tca = commit -a \tcm = commit -m \tcam = commit -am \tcem = commit --allow-empty -m \tcd = commit --amend \tcad = commit -a --amend \tced = commit --allow-empty --amend \t### \tcl = clone \tcld = clone --depth 1 \tclg = !sh -c 'git clone git:\/\/github.com\/$1 $(basename $1)' - \tclgp = !sh -c 'git clone git@github.com:$1 $(basename $1)' - \tclgu = !sh -c 'git clone git@github.com:$(git config --get user.username)\/$1 $1' - \t### \tcp = cherry-pick \tcpa = cherry-pick --abort \tcpc = cherry-pick --continue \t### \td = diff \tdp = diff --patience \tdc = diff --cached \tdk = diff --check \tdck = diff --cached --check \tdt = difftool \tdct = difftool --cached \t### \tf = fetch \tfo = fetch origin \tfu = fetch upstream \t### \tfp = format-patch \t### \tfk = fsck \t### \tg = grep -p \t### \tl = log --oneline \tlg = log --oneline --graph --decorate \t### \tls = ls-files \tlsf = !git ls-files | grep -i \t### \tm = merge \tma = merge --abort \tmc = merge --continue \tms = merge --skip \t### \to = checkout \tom = checkout master \tob = checkout -b \topr = !sh -c 'git fo pull\/$1\/head:pr-$1 &amp;&amp; git o pr-$1' \t### \tpr = prune -v \t### \tps = push \tpsf = push -f \tpsu = push -u \tpst = push --tags \t### \tpso = push origin \tpsao = push --all origin \tpsfo = push -f origin \tpsuo = push -u origin \t### \tpsom = push origin master \tpsaom = push --all origin master \tpsfom = push -f origin master \tpsuom = push -u origin master \tpsoc = !git push origin $(git bc) \tpsaoc = !git push --all origin $(git bc) \tpsfoc = !git push -f origin $(git bc) \tpsuoc = !git push -u origin $(git bc) \tpsdc = !git push origin :$(git bc) \t### \tpl = pull \tpb = pull --rebase \t### \tplo = pull origin \tpbo = pull --rebase origin \tplom = pull origin master \tploc = !git pull origin $(git bc) \tpbom = pull --rebase origin master \tpboc = !git pull --rebase origin $(git bc) \t### \tplu = pull upstream \tplum = pull upstream master \tpluc = !git pull upstream $(git bc) \tpbum = pull --rebase upstream master \tpbuc = !git pull --rebase upstream $(git bc) \t### \trb = rebase \trba = rebase --abort \trbc = rebase --continue \trbi = rebase --interactive \trbs = rebase --skip \t### \tre = reset \trh = reset HEAD \treh = reset --hard \trem = reset --mixed \tres = reset --soft \trehh = reset --hard HEAD \tremh = reset --mixed HEAD \tresh = reset --soft HEAD \trehom = reset --hard origin\/master \t### \tr = remote \tra = remote add \trr = remote rm \trv = remote -v \trn = remote rename \trp = remote prune \trs = remote show \trao = remote add origin \trau = remote add upstream \trro = remote remove origin \trru = remote remove upstream \trso = remote show origin \trsu = remote show upstream \trpo = remote prune origin \trpu = remote prune upstream \t### \trmf = rm -f \trmrf = rm -r -f \t### \ts = status \tsb = status -s -b \t### \tsa = stash apply \tsc = stash clear \tsd = stash drop \tsl = stash list \tsp = stash pop \tss = stash save \tssk = stash save -k \tsw = stash show \tst = !git stash list | wc -l 2&gt;\/dev\/null | grep -oEi '[0-9][0-9]*' \t### \tt = tag \ttd = tag -d \t### \tw = show \twp = show -p \twr = show -p --no-color \t### \tsvnr = svn rebase \tsvnd = svn dcommit \tsvnl = svn log --oneline --show-commit \t### \tsubadd = !sh -c 'git submodule add git:\/\/github.com\/$1 $2\/$(basename $1)' - \tsubrm = !sh -c 'git submodule deinit -f -- $1 &amp;&amp; rm -rf .git\/modules\/$1 &amp;&amp; git rm -f $1' - \tsubup = submodule update --init --recursive \tsubpull = !git submodule foreach git pull --tags origin master \t### \tassume = update-index --assume-unchanged \tunassume = update-index --no-assume-unchanged \tassumed = !git ls -v | grep ^h | cut -c 3- \tunassumeall = !git assumed | xargs git unassume \tassumeall = !git status -s | awk {'print $2'} | xargs git assume \t### \tbump = !sh -c 'git commit -am \\&quot;Version bump v$1\\&quot; &amp;&amp; git psuoc &amp;&amp; git release $1' - \trelease = !sh -c 'git tag v$1 &amp;&amp; git pst' - \tunrelease = !sh -c 'git tag -d v$1 &amp;&amp; git pso :v$1' - \tmerged = !sh -c 'git o master &amp;&amp; git plom &amp;&amp; git bd $1 &amp;&amp; git rpo' - \taliases = !git config -l | grep alias | cut -c 7- \tsnap = !git stash save 'snapshot: $(date)' &amp;&amp; git stash apply 'stash@{0}' \tbare = !sh -c 'git symbolic-ref HEAD refs\/heads\/$1 &amp;&amp; git rm --cached -r . &amp;&amp; git clean -xfd' - \twhois = !sh -c 'git log -i -1 --author=\\&quot;$1\\&quot; --pretty=\\&quot;format:%an &lt;%ae&gt;\\&quot;' - \tserve = daemon --reuseaddr --verbose --base-path=. --export-all .\/.git \t### \tbehind = !git rev-list --left-only --count $(git bu)...HEAD \tahead = !git rev-list --right-only --count $(git bu)...HEAD \t### \tours = &quot;!f() { git checkout --ours $@ &amp;&amp; git add $@; }; f&quot; \ttheirs = &quot;!f() { git checkout --theirs $@ &amp;&amp; git add $@; }; f&quot; \tsubrepo = !sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' - \thuman = name-rev --name-only --refs=refs\/heads\/* [filter &quot;lfs&quot;] \tclean = git-lfs clean -- %f \tsmudge = git-lfs smudge -- %f \tprocess = git-lfs filter-process \trequired = true <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 .gitignore:<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">### Node ###  # Logs logs npm-debug.log* yarn-debug.log* yarn-error.log*  # Optional npm cache directory .npm  # Dependency directories \/node_modules \/jspm_packages \/bower_components  # Yarn Integrity file .yarn-integrity  # Optional eslint cache .eslintcache  # dotenv environment variables file(s) .env .env.*  #Build generated dist\/ build\/  # Serverless generated files .serverless\/  ### SublimeText ### # cache files for sublime text *.tmlanguage.cache *.tmPreferences.cache *.stTheme.cache  # workspace files are user-specific *.sublime-workspace  # project files should be checked into the repository, unless a significant # proportion of contributors will probably not be using SublimeText # *.sublime-project   ### VisualStudioCode ### .vscode\/* !.vscode\/settings.json !.vscode\/tasks.json !.vscode\/launch.json !.vscode\/extensions.json  ### Vim ### *.sw[a-p]  ### WebStorm\/IntelliJ ### \/.idea modules.xml *.ipr *.iml   ### System Files ### *.DS_Store  # Windows thumbnail cache files Thumbs.db ehthumbs.db ehthumbs_vista.db  # Folder config file Desktop.ini  # Recycle Bin used on file shares $RECYCLE.BIN\/  # Thumbnails ._*  # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <a name=\"npm\"><\/a><\/p>\n<h3>npm<\/h3>\n<p>  npm \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<p>  \u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442: <a href=\"https:\/\/www.npmjs.com\/\" rel=\"nofollow\">npmjs.com<\/a>.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430.<\/p>\n<p>  npm \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 <a href=\"https:\/\/nodejs.org\/en\/download\/\" rel=\"nofollow\">Node.js<\/a>.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Node.js \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f npx, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438: npx create-react-app my-app.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">node --version | -v npm --version | -v <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"javascript\">npm i -g npm@latest <\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<pre><code class=\"javascript\">npm help npm help [command-name] <\/code><\/pre>\n<p>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<\/p>\n<pre><code class=\"javascript\">npm init  \/\/ auto npm init --yes | -y <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/p>\n<pre><code class=\"javascript\">npm install | i  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 npm explore [package-name]  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0441\u0435\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 npm doctor  \/\/ \u043e\u0447\u0438\u0441\u0442\u043a\u0430 npm ci <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"javascript\">npm i --force | -f <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">npm i --only=production | --only=prod <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"javascript\">npm i [package-name] npm i [package-name@version]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 npm i express <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">npm i --save-dev | -D [package-name]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 npm i -D nodemon <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"javascript\">npm update | up [package-name] <\/code><\/pre>\n<p>  \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"javascript\">\/\/ dependency npm remove | rm | r [package-name]  \/\/ devDependency npm r -D [package-name] <\/code><\/pre>\n<p>  \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\/\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\/\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430:<\/p>\n<pre><code class=\"javascript\">npm i\/up\/r -g [package-name]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 npm i -g create-react-app \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 create-react-app my-app <\/code><\/pre>\n<p>  \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">npm outdated npm outdated [package-name] <\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"javascript\">npm list | ls  \/\/ top level npm ls --depth=0 | --depth 0  \/\/ global + top level npm ls -g --depth 0 <\/code><\/pre>\n<p>  \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0430\u043a\u0435\u0442\u0435:<\/p>\n<pre><code class=\"javascript\">npm view | v [package-name]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 npm v react npm v react.description <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a \u0441\u043a\u0440\u0438\u043f\u0442\u0430\/\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"javascript\">npm run [script]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 \/\/ package.json: &quot;scripts&quot;: { &quot;dev&quot;: &quot;nodemon server.js&quot; } npm run dev \/\/ script start \u0438\u043b\u0438 node server.js npm start npm stop <\/code><\/pre>\n<p>  \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">npm dedupe | ddp <\/code><\/pre>\n<p>  \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">npm prune <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (\u0443\u0433\u0440\u043e\u0437 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438):<\/p>\n<pre><code class=\"javascript\">npm audit \/\/ json npm audit --json \/\/ plain text npm audit --parseable <\/code><\/pre>\n<p>  \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"javascript\">npm audit fix <\/code><\/pre>\n<p>  <a name=\"yarn\"><\/a><\/p>\n<h3>yarn<\/h3>\n<p>  yarn, \u043a\u0430\u043a \u0438 npm, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<p>  \u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442: <a href=\"https:\/\/yarnpkg.com\/\" rel=\"nofollow\">yarnpkg.com<\/a>.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430:<\/p>\n<pre><code class=\"javascript\">npm i -g yarn <\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u00abyarn dlx\u00bb \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438: yarn dlx create-react-app my-app. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e yarn \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438: yarn set version berry.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">yarn --version | -v <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"javascript\">yarn set version latest <\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<pre><code class=\"javascript\">yarn help yarn help [command-name] <\/code><\/pre>\n<p>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430:<\/p>\n<pre><code class=\"javascript\">yarn init  \/\/ auto yarn init --yes | -y  \/\/ &quot;private&quot;: true \u0432 package.json yarn init --private | -p  \/\/ auto + private yarn init -yp <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"javascript\">yarn \/\/ \u0438\u043b\u0438 yarn install  \/\/ \u0442\u0438\u0445\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 yarn install --silent | -s  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 yarn --check-files <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"javascript\">yarn install --force <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"javascript\">yarn install --production | --prod <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"javascript\">yarn add [package-name] yarn add [package-name@version]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 yarn add express  \/\/ \u0442\u0438\u0445\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 yarn add --silent \/\/ \u0438\u043b\u0438 yarn add -s <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<pre><code class=\"javascript\">yarn add --dev | -D [package-name]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 yarn add -D nodemon <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"javascript\">yarn upgrade [package-name] <\/code><\/pre>\n<p>  \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"javascript\">yarn remove [package-name] <\/code><\/pre>\n<p>  \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\/\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\/\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430:<\/p>\n<pre><code class=\"javascript\">yarn global add\/upgrade\/remove [package-name]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 yarn global add create-react-app \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 create-react-app my-app <\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439:<\/p>\n<pre><code class=\"javascript\">yarn list  \/\/ top level yarn list --depth=0 | --depth 0 <\/code><\/pre>\n<p>  \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0430\u043a\u0435\u0442\u0435:<\/p>\n<pre><code class=\"javascript\">yarn info [package-name] \/\/ \u0438\u043b\u0438 yarn why [package-name]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 yarn info react yarn info react description yarn why webpack <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a \u0441\u043a\u0440\u0438\u043f\u0442\u0430\/\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"javascript\">yarn [script] \/\/ \u0438\u043b\u0438 yarn run [script]  \/\/ \u043f\u0440\u0438\u043c\u0435\u0440 \/\/ package.json: &quot;scripts&quot;: { &quot;dev&quot;: &quot;nodemon server.js&quot; } yarn dev <\/code><\/pre>\n<p>  <a name=\"package\"><\/a><\/p>\n<h3>package.json<\/h3>\n<p>  <\/p>\n<pre><code class=\"json\">{   &quot;name&quot;: &quot;my-app&quot;,   &quot;version&quot;: &quot;1.0.0&quot;,   &quot;description&quot;: &quot;my awesome app&quot;,   &quot;keywords&quot;: [     &quot;amazing&quot;,     &quot;awesome&quot;,     &quot;best&quot;   ],   &quot;private&quot;: true,   &quot;main&quot;: &quot;server.js&quot;,   &quot;license&quot;: &quot;MIT&quot;,   &quot;homepage&quot;: &quot;https:\/\/my-website.com&quot;,   &quot;repository&quot;: {     &quot;type&quot;: &quot;git&quot;,     &quot;url&quot;: &quot;https:\/\/github.com\/user\/repo.git&quot;   },   &quot;repository&quot;: &quot;github:user\/repo&quot;,   &quot;author&quot;: {     &quot;name&quot;: &quot;My Name&quot;,     &quot;email&quot;: &quot;myemail@example.com&quot;,     &quot;url&quot;: &quot;https:\/\/my-website.com&quot;   },   &quot;author&quot;: &quot;My Name &lt;myemail@example.com&gt; (https:\/\/my-website.com)&quot;,   &quot;contributers&quot;: [     {       &quot;name&quot;: &quot;Friend Name&quot;,       &quot;email&quot;: &quot;friendemail@example.com&quot;,       &quot;url&quot;: &quot;https:\/\/friend-website.com&quot;     }   ],   &quot;contributors&quot;: &quot;Friend Name &lt;friendemail.com&gt; (https:\/\/friend-website.com)&quot;,   &quot;dependencies&quot;: {     &quot;express&quot;: &quot;^4.17.1&quot;   },   &quot;devDependencies&quot;: {     &quot;nodemon&quot;: &quot;^2.0.4&quot;   },   &quot;scripts&quot;: {     &quot;start&quot;: &quot;react-scripts start&quot;,     &quot;dev&quot;: &quot;nodemon server.js&quot;   } } <\/code><\/pre>\n<p>  <\/p>\n<ul>\n<li>name \u2014 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/li>\n<li>version \u2014 \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0441\u043c. \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435)<\/li>\n<li>description \u2014 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d \u043f\u0430\u043a\u0435\u0442?)<\/li>\n<li>keywords \u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 (\u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u043f\u043e\u0438\u0441\u043a \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435 npm)<\/li>\n<li>private \u2014 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 true \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435 npm<\/li>\n<li>main \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/li>\n<li>repository \u2014 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 (\u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432)<\/li>\n<li>author \u2014 \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432)<\/li>\n<li>contributors \u2014 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043b\u044e\u0434\u0438, \u0432\u043d\u0435\u0441\u0448\u0438\u0435 \u0432\u043a\u043b\u0430\u0434 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442)<\/li>\n<li>dependencies \u2014 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043f\u0430\u043a\u0435\u0442\u044b, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c)<\/li>\n<li>devDependencies \u2014 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 (\u043f\u0430\u043a\u0435\u0442\u044b, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c)<\/li>\n<li>scripts \u2014 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438, \u0437\u0430\u0434\u0430\u0447\u0438), \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u00abyarn dev\u00bb \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u00abnodemon server.js\u00bb<\/li>\n<\/ul>\n<p>  \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u0444\u0430\u0439\u043b\u0430 \u00abpackage.json\u00bb: <a href=\"https:\/\/docs.npmjs.com\/files\/package.json\" rel=\"nofollow\">npm-package.json<\/a><\/p>\n<p>  \u0424\u0430\u0439\u043b\u044b \u00abpackage-lock.json\u00bb \u0438 \u00abyarn.lock\u00bb \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u0430\u0445, \u0447\u0435\u043c package.json, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439.<\/p>\n<p>  <a name=\"semver\"><\/a><\/p>\n<h3>\u0412\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h3>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0438\u043c\u0435\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u044e, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0438\u0437 \u0442\u0440\u0435\u0445 \u0446\u0438\u0444\u0440 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 1.0.0), \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u0430\u044f \u0446\u0438\u0444\u0440\u0430 \u2014 \u043c\u0430\u0436\u043e\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f (major), \u0432\u0442\u043e\u0440\u0430\u044f \u2014 \u043c\u0438\u043d\u043e\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f (minor), \u0442\u0440\u0435\u0442\u044c\u044f \u2014 \u043f\u0430\u0442\u0447\u0435\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f (\u043f\u0430\u0442\u0447, patch). \u041d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438.<\/p>\n<p>  \u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0446\u0438\u0444\u0440 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (semver) \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>major \u2014 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0445 \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/li>\n<li>minor \u2014 \u043d\u043e\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439<\/li>\n<li>patch \u2014 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a, \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f<\/li>\n<\/ul>\n<p>  \u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b \u0432\u0435\u0440\u0441\u0438\u0439 \u0438\u043b\u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 (\u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u043e\u0432):<\/p>\n<ul>\n<li>* \u2014 \u043b\u044e\u0431\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435)<\/li>\n<li>&lt;1.0.0 \u2014 \u043b\u044e\u0431\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u0435\u043d\u044c\u0448\u0435 1.0.0<\/li>\n<li>&lt;=1.0.0 \u2014 \u043b\u044e\u0431\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 1.0.0<\/li>\n<li>&gt;1.0.0 \u2014 \u043b\u044e\u0431\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0435 1.0.0<\/li>\n<li>&gt;=1.0.0 \u2014 \u043b\u044e\u0431\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 1.0.0<\/li>\n<li>=1.0.0 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0440\u0441\u0438\u044f 1.0.0 (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &quot;=&quot; \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c)<\/li>\n<li>&gt;=1.0.0 &lt;2.0.0 \u2014 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e 1.0.0 \u0438 \u043c\u0435\u043d\u044c\u0448\u0435 2.0.0<\/li>\n<li>1.0.0-2.0.0 \u2014 \u043d\u0430\u0431\u043e\u0440 \u0432\u0435\u0440\u0441\u0438\u0439 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e<\/li>\n<li>^1.0.0 \u2014 \u043c\u0438\u043d\u043e\u0440\u043d\u044b\u0435 \u0438 \u043f\u0430\u0442\u0447\u0435\u0432\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b (&gt;=1.0.0 &lt;2.0.0)<\/li>\n<li>~.1.0.0 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0442\u0447\u0435\u0432\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b (&gt;=1.0.0 &lt;1.1.0)<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e semver: <a href=\"https:\/\/github.com\/npm\/node-semver\" rel=\"nofollow\">node-semver<\/a>.<\/p>\n<p>  \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/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=\"https:\/\/habr.com\/ru\/post\/522078\/\"> https:\/\/habr.com\/ru\/post\/522078\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/522078\/\">\u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a, \u0434\u0440\u0443\u0437\u044c\u044f!<\/p>\n<p>  \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0443 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c bash, git, npm, yarn, package.json \u0438 semver.<\/p>\n<p>  \u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: [dir-name] \u2014 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, | \u2014 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u0438\u043b\u0438\u00bb.<\/p>\n<p>  \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u0442\u0430\u043a \u0432\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0445 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u044b, \u0430 \u043a\u0430\u043a\u0438\u0435 \u043d\u0435\u0442.<\/p>\n<p>  \u0411\u0435\u0437 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u043f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0439.<\/p>\n<p>  \u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<ul>\n<li><a href=\"#bash\">bash<\/a><\/li>\n<li><a href=\"#git\">git<\/a><\/li>\n<li><a href=\"#npm\">npm<\/a><\/li>\n<li><a href=\"#yarn\">yarn<\/a><\/li>\n<li><a href=\"#package\">package.json<\/a><\/li>\n<li><a href=\"#semver\">semver<\/a><\/li>\n<\/ul>\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-310995","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/310995","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=310995"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/310995\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=310995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=310995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=310995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}