Git
Git is a version control system(VCS) for tracking changes in computer files and coordinating work on those files among multiple people.
Development mode
- master
- origin/master should be the main branch where the source code of HEAD always reflects a production-ready state.
- Should be restrict about this, and could use a Git hook script to automatically build and roll-out our software to our production servers every time there was a commit on master.
- develop
- origin/develop should be the main main branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release.
- feature branches
- Feature branches are used to develop new features for the upcoming or a distant future release.(branch off from develop, and merge back to develop, naming convention)
- release branches
- hotfix branches
Keep the file while not being tracked by git:
- First change the file you do not want to be tracked and use the following command:
git update-index --assume-unchanged FILE_NAME
- if you want to track the changes again use this command:
git update-index --no-assume-unchanged FILE_NAME