title: What are the conceptual differences between Merging, Stashing and Rebasing in Git?
body: <p>I have been using Merging heavily on master branch. But recently for a feature development in my situation merging seemed complicated for the project history. I came across Rebasing which solves my problem. I also came across <a href="https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview" rel="nofollow noreferrer">the golden rule of rebasing</a> while solving the problem. </p>
  
  <p>I also used Stashing at times, it worked, but I feel like the same thing could have been achieved with merging as well.</p>
  
  <p>Although I use these commands, I feel like if someone can explain the conceptually outstanding facts/rule about these three commands it would help me to get a clearer understanding. Thanks.</p>