title: What is the best practice for using git on multiple projects with the same base?
body: <p>I had a project running on a client which using git as its version control.<br>
  After a while, another client wanted the same project with some different features. </p>
  
  <p>Then, I thought of 2 options to manage the new one in git repository. </p>
  
  <p>One, fork the repository, or two, make another branch specific for the new repository. </p>
  
  <p>Since I was new to git, I did both of those to test which was easier to maintain. I, later, went with option two, since it was a lot easier to fix errors in a client then cherry-picked it to another branch (if the errors were in the features that were used in another clients). And also it seems to be easier to switch branch in IDE than have several projects.</p>
  
  <p>However, I am still not convinced that this is the best practice for a several projects since now I have more clients (thus, more branches).   </p>
  
  <p>It is really confusing to use branch per feature, and I want to utilize the pull request feature of git. I start to think that it is better to separate projects in their personal repositories.<br>
  But if I do that, can I still using a single project in my IDE?   </p>
  
  <p>How can I "push" the error fixes to another repository without having to re-code (literally code again, copy paste, or using diff) them in another projects?</p>
  
  <p>Am I doing the right thing?<br>
  Or is there a better way to do this?</p>
  
  <p>Thank you in advance.</p>