Everyone’s busy. Code is committed every day. Yet the feature fails to ship. Have you ever had this happen on your team? No doubt. But how can you figure out what’s holding the team back? Code commits.
Continue ReadingGit Merging
Another helpful tool in working with Git repositories is the git mergetool command. This provides you with a graphical interface for merging conflicts. What’s nice about this tool is that you can see all of the differences in the remote file and the local file and you can go through each and choose the change that you want to keep. Very nice!
Even More Git Commands
Recent Git commands that have proved very helpful to me along with brief descriptions:
- git instaweb – this allows you to view your repo in a browswer; you can configure which web server you would like to use in your ~/.gitconfig file
- git log -n <filename> – you can restrict the number of commits that the log will show you for a given file
- git blame <filename> – you can see who author every line of code in a given file
- git diff ..origin/master <filename> – allows you to see the differences between your local file and the remote
- git merge –squash <branchname> – allows you to merge your commits from a local branch together as a group of modified files into the current branch
Creating and Using Branches in Git
Here are some basic work flows for working with the Git repository, especially the power of the branching features that Git offers.
To create a new branch and switch to that branch use:
$git checkout -b my_branch
Any changes that are done now will be reflected in the new branch and not the master.
To see what branch you are working on use:
$git branch
You should see an * beside the name of the branch that is current
To go back to our master branch use:
$git checkout master
Now any changes that are made will be reflected in the master branch but are not automatically populated to your new branch.
To merge our new branch into our master branch use:
$git merge my_branch
We do not need to specify where we are going to do the merge because we are already in the master branch.
To delete our new branch now that we have done a merge use:
$git branch -d my_branch
Another option for merging our branch into the master branch is the following:
$git checkout my_branch
$git rebase master
Fix any conflicts and do:
$git add
$git rebase –continue
$git checkout master
$git merge my_branch
This will make the history much cleaner.