<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Agnieszka</title>
    <description>The latest articles on DEV Community by Agnieszka (@agnieszka).</description>
    <link>https://dev.to/agnieszka</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F724202%2F364809d0-b0bc-48d7-ad4d-16c4329bb8b1.png</url>
      <title>DEV Community: Agnieszka</title>
      <link>https://dev.to/agnieszka</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agnieszka"/>
    <language>en</language>
    <item>
      <title>Cherry-Pick Your Teammate's Changes Without Push 'n Pull-ing To Your Repo In WebStorm</title>
      <dc:creator>Agnieszka</dc:creator>
      <pubDate>Fri, 05 Nov 2021 09:58:15 +0000</pubDate>
      <link>https://dev.to/gitlive/cherry-pick-your-teammates-changes-without-push-n-pull-ing-to-your-repo-in-webstorm-5h41</link>
      <guid>https://dev.to/gitlive/cherry-pick-your-teammates-changes-without-push-n-pull-ing-to-your-repo-in-webstorm-5h41</guid>
      <description>&lt;p&gt;You asked your teammate for help with a piece of code and they showed you the solution in their editor. Now you need to fetch those changes. Usually, this would mean a series of tedious Git commands for both of you (not to mention that the changes will forever grace your git history), but no longer - GitLive allows you to cherry-pick your teammate's changes straight from their local files without having to push and pull to Git.&lt;/p&gt;

&lt;p&gt;In WebStorm, open up the team window by clicking on the GitLive icon on the bottom tool window bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636043004823%2FmLTXn9qUk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636043004823%2FmLTXn9qUk.png" alt="IMG-1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will show a list of your teammates, if they are online (or away) and the issue they are currently working on. Click the arrow on the left-hand side of the teammate that helped you to see the repositories they have cloned, locate the one they made the changes to and click the arrow beside that too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636040361139%2F9UIvwDqxV.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636040361139%2F9UIvwDqxV.png" alt="IMG-2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, you can see the list of files changed by your teammate on their branch compared to the main branch. Files with asterisks next to the file icon contain changes made locally by your teammate that have not yet been pushed to the remote repository.&lt;/p&gt;

&lt;p&gt;Since we are only interested in their local changes, click the filter icon at the bottom of the team window to filter to only the unpushed changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636044027568%2FLu7qC-CJu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636044027568%2FLu7qC-CJu.png" alt="IMG-3(2).png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we can see the single file that contains the solution we want to copy! Clicking on it will open a diff of the changes so we can make sure it contains only the changes we need. Now all we need to do is to right click on the file and select the cherry-pick option to pick the changes. And voilà - no need for any git push- or git pull -ing!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636040373331%2FgYKKUXoB0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636040373331%2FgYKKUXoB0.png" alt="IMG-4.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also perform the cherry pick at the level above if you want to pick all changes from multiple files at once by right-clicking on the repository and selecting the cherry-pick option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636040379492%2FTuZp7N4Ts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1636040379492%2FTuZp7N4Ts.png" alt="IMG-5.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't have the GitLive extension installed yet? You can &lt;a href="https://plugins.jetbrains.com/plugin/11955-gitlive" rel="noopener noreferrer"&gt;find GitLive here&lt;/a&gt;, and if you want to learn more, check out &lt;a href="https://blog.git.live/gitlive-8-0-Cherry-picking-your-teammates-changes" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt; or the &lt;a href="https://docs.git.live/docs/cherrypicking/" rel="noopener noreferrer"&gt;GitLive docs&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>git</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How To Enable Real-Time Merge Conflict Detection in PhpStorm</title>
      <dc:creator>Agnieszka</dc:creator>
      <pubDate>Tue, 12 Oct 2021 15:38:05 +0000</pubDate>
      <link>https://dev.to/gitlive/how-to-enable-real-time-merge-conflict-detection-in-phpstorm-1ki2</link>
      <guid>https://dev.to/gitlive/how-to-enable-real-time-merge-conflict-detection-in-phpstorm-1ki2</guid>
      <description>&lt;p&gt;Ah, the dreaded &lt;em&gt;resolve conflicts&lt;/em&gt; popup. You've finished crafting the perfect code, just a quick merge in of master (ahem, &lt;em&gt;main&lt;/em&gt;) before you submit your PR, and then... 💥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631105453895%2FYWXZ2S8AY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631105453895%2FYWXZ2S8AY.png" alt="img-1-scaled.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If only there was an early warning system for merge conflicts so you could be better prepared or even avoid the conflicts in the first place I hear you say? Well if you are a PhpStorm user today is your lucky day!&lt;/p&gt;

&lt;p&gt;Firstly, you'll need to install and set up &lt;a href="https://plugins.jetbrains.com/plugin/11955-gitlive" rel="noopener noreferrer"&gt;GitLive&lt;/a&gt;. Then if you right click the gutter on PhpStorm, you will see the option to “Show Other's Changes”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631105494603%2F8m0GvqeVw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631105494603%2F8m0GvqeVw.png" alt="img-2-scaled.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will be disabled if the file open in the editor is not from git or there are no other changes to it from contributors working on other branches (aka you are safe from conflicts). If it's enabled there will be one or more change indicators in the gutter of the editor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634047012377%2F_7D2aL44K.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634047012377%2F_7D2aL44K.png" alt="img-3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These will show you where your teammates have made changes compared to your version of the file and even update in real-time as you and your teammates are editing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631105477371%2FnVpMNFsi2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631105477371%2FnVpMNFsi2.png" alt="key indicators-dark.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you've made a conflicting change you will see the bright red conflict indicator. These conflicts can be uncommitted local changes you have not pushed yet or existing changes on your branch that conflict with your teammates’ changes.&lt;/p&gt;

&lt;p&gt;Click your teammate’s icon in the gutter to see the diff between your version and theirs, the branch the offending changes are from, and the issue connected to that branch if there is one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634047122136%2FlAc75r6N_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1634047122136%2FlAc75r6N_.png" alt="img-5.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From this popup you can also cherry-pick your teammate’s change directly from their local version of the file. For simple conflicts this can be a quick way to resolve them as identical changes on different branches will merge cleanly.&lt;/p&gt;

&lt;p&gt;Unfortunately, it's not always possible to resolve a conflict straight away but with the early warning, you'll be better prepared, avoiding any nasty surprises at merge time!&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://blog.git.live/gitlive-11.0-Real-time-merge-conflict-detection" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt; or the &lt;a href="https://docs.git.live/docs/mergeconflicts/" rel="noopener noreferrer"&gt;GitLive docs&lt;/a&gt; if you want to learn more.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>php</category>
      <category>git</category>
    </item>
  </channel>
</rss>
