To set up the display of the branch structure, tags and pulls in the command line interface first create the following “alias”
git config --global alias.lgb "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset%n' --abbrev-commit --date=relative --branches"
To display the branch structure, execute the following “alias”
This will execute the above defined “alias” and display the most important events of the branch.
Press q to exit from the display mode to the $ prompt.
Branching and Merging are very powerful features in Git.
There are may branching strategies, my favorite is well explained at http://nvie.com/posts/a-successful-git-branching-model/
Pick any model you like and stick to it for a while to better understand and evaluate it. If you do not like that try another one.
In this model when we start to work on a new feature we
- Create a new branch (let’s call it feature) based on the develop branch and switch to it.
- Develop the new feature in the feature branch and add the changes to the repository.
- Before merging the changes of the feature branch back into the develop branch get the latest changes from the develop branch, apply your changes on top of them and test the application
- If there are merge conflicts, launch the Merge Tool. See Merging in Git with four panels in Windows to set up and use a great merge tool.
- It is possible that you will encounter merge conflicts in the same file multiple times. Just repeat the git mergetool command as many times as needed.
- When you are done with merging, complete the rebase
- Add and commit your changes in the feature branch
- When you have tested the code of the new feature, merge it back to the develop branch.
Switch back to the develop branch and merge the changes from the feature branch.
- If there are any merge conflicts, Git will ask you to resolve them.
I have accidentally included a folder in my Git repository, that I don’t want to include in source control. I wanted to remove it from the Git index, but not from the local hard drive.
The solution is the following command
git rm -r --cached myFolder
If the folder name contains spaces enclose it in quotes "my folder"
This will remove the folder from the Git repository, but leave it on the local drive.