I have been using both git and svn for quite some time now, and as the time passes, and my projects become more complex, I am starting to know how projects are actually managed.
Now I already know the basic concepts of forking and branching. With forking you will create a clone of the existing project, in which you can work. With branching you keep working in the same project, but you just go a different direction.
I know this, but I can still not decide which to choose, because I do not want to end up choosing the wrong method. That’s why I am asking some advice.
—
The projects I am working on is a website. The website is finished and running for the public. I still have two tasks to complete, and they are:
1) Because the website is just launched, I still make small daily changes. Some SEO related, some minor browser fixes, some small content changes. Basically I still make small changes to the project.
2) The second task I have is expanding the current project. I am creating some private content that will not be visible to the public, but it belongs to the same project. They are pages that will be used by the company intern.
So basically I will need to work on the current project, and on the fork / branch. Eventually, when the private pages are done, it will become 1 project again.
Now the question is, should I create a branch or a fork of the current project.
In general the difference is simple. If you are creating a fork, then you never intend to put your new work in the fork back into the thing you forked from.
If you intend to put your work back, then you want a branch. In your cases you certainly want to branch. Of course you can choose to abandon a branch if you decide that it does not work out. Each of the VCS tools has a means of managing branches to allow you to merge the changes back to the master/trunk (the code line from which you branched).