<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>VCS on Roman Dushko - Personal blog</title><link>https://www.rodush.com/tags/vcs/</link><description>Recent content in VCS on Roman Dushko - Personal blog</description><image><title>Roman Dushko - Personal blog</title><url>https://www.rodush.com/images/rodush-og.png</url><link>https://www.rodush.com/images/rodush-og.png</link></image><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 05 Apr 2017 15:41:37 +0000</lastBuildDate><atom:link href="https://www.rodush.com/tags/vcs/index.xml" rel="self" type="application/rss+xml"/><item><title>Git push to remote without creating local branch</title><link>https://www.rodush.com/2017/04/git-push-to-remote-without-creating-local-branch/</link><pubDate>Wed, 05 Apr 2017 15:41:37 +0000</pubDate><guid>https://www.rodush.com/2017/04/git-push-to-remote-without-creating-local-branch/</guid><description>&lt;p&gt;Little extremely handy trick for Git.&lt;/p&gt;
&lt;p&gt;If you need to modify something quickly in some(-body’s) branch, e.g. in in open PR on GitHub, you don’t need to usually create your local branch mirroring the remote one, right?&lt;/p&gt;
&lt;p&gt;Instead, you just checkout into remote branch:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git checkout origin/branch-name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;, do you fixes/changes, commit them and now, the tricky thing, how do you push?&lt;/p&gt;
&lt;p&gt;As simple as:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push origin HEAD:refs/heads/branch-name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You don&amp;rsquo;t have traces in your local branches, and you pushed your modifications.&lt;/p&gt;</description></item><item><title>How to specify custom ssh key while git clone from github</title><link>https://www.rodush.com/2017/02/how-to-specify-custom-ssh-key-while-git-clone-from-github/</link><pubDate>Wed, 08 Feb 2017 05:33:57 +0000</pubDate><guid>https://www.rodush.com/2017/02/how-to-specify-custom-ssh-key-while-git-clone-from-github/</guid><description>&lt;p&gt;If you need to provide some custom ssh key while cloning your repository from github (or pulling, whatsoever), run this command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-agent &lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;eval &lt;span style="color:#e6db74"&gt;`&lt;/span&gt;ssh-agent -s&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;; ssh-add ~/.ssh/&lt;span style="color:#f92672"&gt;{&lt;/span&gt;your-custom-keyfile&lt;span style="color:#f92672"&gt;}&lt;/span&gt;; git clone git@github.com:&lt;span style="color:#f92672"&gt;{&lt;/span&gt;username&lt;span style="color:#f92672"&gt;}&lt;/span&gt;/&lt;span style="color:#f92672"&gt;{&lt;/span&gt;repo-name&lt;span style="color:#f92672"&gt;}&lt;/span&gt;.git .&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Please note, you should replace &lt;code&gt;{strings}&lt;/code&gt; with plain string values!&lt;/p&gt;</description></item><item><title>Отменить git push</title><link>https://www.rodush.com/2012/03/%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-git-push/</link><pubDate>Thu, 22 Mar 2012 17:23:35 +0000</pubDate><guid>https://www.rodush.com/2012/03/%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-git-push/</guid><description>&lt;p&gt;Бывает такое, что вы сделали случайный коммит и запушили в общий репозиторий то, что не хотелось бы, скажем — какие-то важные данные (пароль к какому-нибудь сервису и т.п.)&lt;/p&gt;
&lt;p&gt;Конечно, пока никто не заметил, всё еще можно отменить!&lt;/p&gt;
&lt;p&gt;Для этого необходимо использовать команду&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push -f &lt;span style="color:#f92672"&gt;{&lt;/span&gt;remote_name&lt;span style="color:#f92672"&gt;}&lt;/span&gt; HEAD^:&lt;span style="color:#f92672"&gt;{&lt;/span&gt;branchName&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Таким образом можно откатиться не только на один шаг (&lt;code&gt;^&lt;/code&gt;), но на любое количество: &lt;code&gt;HEAD^^&lt;/code&gt; (&lt;code&gt;HEAD~2&lt;/code&gt;, &lt;code&gt;HEAD~n&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Повторно можно «залить» уже изменения с учетом необходимых исправлений. Таким образом вы перепишете историю! :-D&lt;/p&gt;</description></item></channel></rss>