I haven't quite got my head into the git mindset, and I've not really found a good overview which has "clicked".
The situation I'm playing with is merging what are two seperate developments (branches?) of the same web application. One is a third party web application that progresses over time without my involvement, and the other is the version of the codebase which contains my own customisations. The application in this case is ZenCart (PHP based).
Can someone guide me quickly through the points in the sequence below where I should brange, commit, merge, etc?
1. Install ZenCart-1.3.8a 2. Customise to create MyApp. (This customisation takes place over several months/years) 3. ZenCart 1.3.9f is released so I need to upgrade MyApp. 4. After merging, I have a 1.3.9f version of MyApp for testing. 5, Meanwhile, some development continues on the live 1.3.8a version of MyApp. 6. The 1.3.9f version of MySite passes testing, I now need to merge in the changes that took place in 5. 7. Test again, and if testing doesn't complete before more changes take place, go back to 5. 8. Testing complete, migrate to 1.3.9f version of my site as working copy. 9. Some time later, 1.3.10b is released and I want to upgrade again. 10. ... and so on....
I think where I am getting stuck is working out what should be the "master" branch and how to keep switching between branches as necessary. Indeed, I'm not even really sure how many branches I should have here?
For anyone who saw my previous posts on this: I have successfully used git to achieve steps 1-4, which in itself is fantastic for me. However, I'm now in the situation that development on the live site has continued before the new version has been accepted, so now I have new changes to apply, and at the moment the only way I can work out to do it is to start from scratch which (a) I don't want to do as the merge was not straightforward, and (b) is clearly the wrong way to be doing it. When I started looking at it again, git status tells me that my test code is on branch "MyApp-1.3.8a", although it is the merged 1.3.9f version of the site code. Either I have done something wrong or I've chosen a bad name for the branch (it should probably just be "MyApp"?) but either way I'm in a muddle!