<?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: Deshan Madurajith</title>
    <description>The latest articles on DEV Community by Deshan Madurajith (@deshanm).</description>
    <link>https://dev.to/deshanm</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%2F437276%2F3ba9a6e5-6d56-4a84-8447-adbfa6aa0a7f.png</url>
      <title>DEV Community: Deshan Madurajith</title>
      <link>https://dev.to/deshanm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deshanm"/>
    <language>en</language>
    <item>
      <title>Get Scraped Shopify App Store Data For Free</title>
      <dc:creator>Deshan Madurajith</dc:creator>
      <pubDate>Thu, 25 Jul 2024 16:59:32 +0000</pubDate>
      <link>https://dev.to/deshanm/get-scraped-shopify-app-store-data-for-free-19l1</link>
      <guid>https://dev.to/deshanm/get-scraped-shopify-app-store-data-for-free-19l1</guid>
      <description>&lt;p&gt;I wanted to see what Shopify apps are out there and find out what's missing or could be better. So, I scraped the Shopify app store and got a bunch of data like app titles, developers, ratings, reviews, and descriptions.&lt;/p&gt;

&lt;p&gt;I don't want to waste your time with a long blog. Just download the dataset here &lt;strong&gt;for Free&lt;/strong&gt; - &lt;a href="https://deshanmadurajith.gumroad.com/l/shopify-data-set-2024" rel="noopener noreferrer"&gt;Download Dataset&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What I Found
&lt;/h3&gt;

&lt;p&gt;Many Shopify apps focus on product reviews, store locators, SEO tools, and return management. Some apps have high ratings but few reviews, indicating a need for more promotion. Others with lots of reviews but lower ratings could improve their features or support. Pricing varies widely, with free and paid plans available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Opportunities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Better Integrations: Apps that work well with other tools (like email and CRM) could be really useful.&lt;/li&gt;
&lt;li&gt;More Insights: Apps that offer deeper analytics and actionable data could stand out.&lt;/li&gt;
&lt;li&gt;Improved User Experience: Easy-to-use apps with good support can make a big difference.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;There's a lot of room for new and better apps in the Shopify store. If you're a developer, check out the data, and you might find your next big idea!&lt;/p&gt;

&lt;p&gt;Download the dataset for free and start exploring. Let me know if you create something awesome!&lt;/p&gt;

&lt;p&gt;Happy building! 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://deshanmadurajith.gumroad.com/l/shopify-data-set-2024" rel="noopener noreferrer"&gt;Download Dataset&lt;/a&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>data</category>
      <category>scrape</category>
    </item>
    <item>
      <title>Pick a commit from another branch to the current branch (cherry-pick)</title>
      <dc:creator>Deshan Madurajith</dc:creator>
      <pubDate>Sun, 26 Jul 2020 18:30:43 +0000</pubDate>
      <link>https://dev.to/deshanm/pick-a-commit-from-another-branch-to-the-current-branch-cherry-pick-38p</link>
      <guid>https://dev.to/deshanm/pick-a-commit-from-another-branch-to-the-current-branch-cherry-pick-38p</guid>
      <description>&lt;p&gt;When to use cherry-pick&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always try to not to use cherry-pick because it can make a duplicate commit.&lt;/li&gt;
&lt;li&gt;If you have already committed something on another branch, you can pick it and merge it with your working branch. Example: you may need a hotfix commit from another branch.&lt;/li&gt;
&lt;li&gt;Restoring lost comments. Sometimes a pull request might get closed without merging. But you can see those commit in the git log. So you can cherry-pick them&lt;/li&gt;
&lt;/ul&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdmb185yxo5umin72abyr.jpg" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdmb185yxo5umin72abyr.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Steps
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. Get the hash of the required commit
&lt;/h2&gt;

&lt;p&gt;Checkout to the branch that has the required commit. Then get git hash of that commit by using CLI or Github site&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git log --oneline 
git reflog


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;or you can view your git as a graph&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git log --graph --oneline --all


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6tyisejrm8g5ybrcngq5.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6tyisejrm8g5ybrcngq5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Cherry-pick the commit
&lt;/h2&gt;

&lt;p&gt;Checkout to the brach that you want to add the commit. Enter the following command. &lt;br&gt;
&lt;code&gt;git cherry-pick commit-id&lt;/code&gt;. example:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git cherry-pick c67a4b7


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;if you want to add only the content without commit. You can add &lt;code&gt;--no-commit&lt;/code&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git cherry-pick c67a4b7 --no-commit


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>Change Git user for a specific repo</title>
      <dc:creator>Deshan Madurajith</dc:creator>
      <pubDate>Wed, 22 Jul 2020 19:01:14 +0000</pubDate>
      <link>https://dev.to/deshanm/change-git-user-for-a-specific-repo-169l</link>
      <guid>https://dev.to/deshanm/change-git-user-for-a-specific-repo-169l</guid>
      <description>&lt;p&gt;Sometimes you may work on multiple projects using multiple git users. Your personal project with your personal GitHub and office GitHub with your business email. You may need to commit like someone else 🤫. There are two options to change git author of your repository.&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Change without Terminal
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Go to your repo folder &amp;amp; &lt;code&gt;show hidden folders&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Go to &lt;code&gt;.git&lt;/code&gt; hidden folder and open &lt;code&gt;config&lt;/code&gt; file
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fctwycwlyjlghijpf1ly5.png" alt="Alt Text" width="800" height="417"&gt;
&lt;/li&gt;
&lt;li&gt;Add/replace the following block in the config file
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user]
    name = deshan
    email = deshan [at] dev.to
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can commit a new change and check author information. &lt;/p&gt;

&lt;h1&gt;
  
  
  2. Change with Terminal
&lt;/h1&gt;

&lt;p&gt;Open the terminal and go to the repository. Enter the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config user.email "deshan@dev.to"
git config user.name "deshan"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to change the author for previous commits, follow this &lt;a href="https://dev.to/deshanm/replace-accidentally-committed-git-author-information-from-git-history-15dk"&gt;replace-accidentally-committed-git-author-information-from-git-history&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>Replace accidentally committed git author information from git history</title>
      <dc:creator>Deshan Madurajith</dc:creator>
      <pubDate>Tue, 21 Jul 2020 19:37:53 +0000</pubDate>
      <link>https://dev.to/deshanm/replace-accidentally-committed-git-author-information-from-git-history-15dk</link>
      <guid>https://dev.to/deshanm/replace-accidentally-committed-git-author-information-from-git-history-15dk</guid>
      <description>&lt;p&gt;If you working for multiple projects or companies, you may use different Github logins. If you accidentally commit something as wrong git user, it will be a pain to change the history. If you push it and add more commits on that it will be more painful to revert those changes. &lt;/p&gt;

&lt;p&gt;If you search on google, you will see a lot of solutions. Most solutions are not straight forward, you have to spend few minutes to hours to realize the solution because of many CLI commands and copy pastings. But did you know that you can replace author name and email in the entire git history with a script? &lt;/p&gt;

&lt;p&gt;You don’t need to use git CLI commands to change the author's name and email in the commit history. You can just run a script to replace all the commits assigned to the wrong git author.&lt;/p&gt;

&lt;p&gt;The following illustration shows the high-level solution. Using a script, you can replace the author. This script will&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;not change committed dates&lt;/li&gt;
&lt;li&gt;not change committed messages&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Warning* 👿 - This will change the git hashes of the commits.
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2fdqn5pjnugamhufi8zm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2fdqn5pjnugamhufi8zm.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step (1/4): Create a fresh, bare clone of your repository
&lt;/h3&gt;

&lt;p&gt;Bar clone means it does not have a git working directory. It has only .git data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone --bare https://github.com/user/repo.git
cd repo.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step (2/4): Create script.sh file, update and execute
&lt;/h3&gt;

&lt;p&gt;Open this script and change following OLD_EMAIL, CORRECT_NAME &amp;amp; CORRECT_EMAIL&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Give executable permissions: You need permission to execute the shell script. You need to give executable permission&lt;br&gt;
&lt;code&gt;sudo chmod 755 script.sh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Let's run:Time to run the shell script. This script will not push those changes to your origin. So, you can review after executing.&lt;br&gt;
&lt;code&gt;./script.sh&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step (3/4): Review your git log
&lt;/h3&gt;

&lt;p&gt;Check author name, email, and commits messages.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log
git log --decoreate --oneline      # one line log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step (4/4): Push to Github
&lt;/h3&gt;

&lt;p&gt;Check twice before you run the following command.&lt;br&gt;
&lt;code&gt;git push --force --tags origin 'refs/heads/*'&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  👿Warning👿 - Once you run this script, your commit hashes will be changed
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0rftwae2m2r5z7u098ja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0rftwae2m2r5z7u098ja.png" alt="Alt Text" width="800" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;because of hash changes - When you get a git pull, you will see something like this&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F26xfpd27sdzpsgd8k5f2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F26xfpd27sdzpsgd8k5f2.png" alt="Alt Text" width="800" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your git users will have to run following command to avoid that issue&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull --allow-unrelated-histories
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/github/using-git/changing-author-info" rel="noopener noreferrer"&gt;https://docs.github.com/en/github/using-git/changing-author-info&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, read &lt;a href="https://dev.to/deshanm/change-git-user-for-a-specific-repo-169l"&gt;How to change git user for specific repo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
    </item>
  </channel>
</rss>
