I recently found a problem in my codebase and realised it had been around for a while. A few weeks ago everything worked fine and I didn't know when or why it started to go bad. If only I knew when the bug was introduced I could save myself a great deal of debugging. It was then that I learned about Git Bisect which turned out to be my knight in shining armour.
Git Bisect finds...
Right now, I’m in a project where we use Google’s gerrit for code review, and JetBrains Team City for CI. Both of these tools are good by themselves, but if they could combine their powers, we’d gain a lot in terms of reviewing capabilities, offloading the burden of verifying the build to Team City (compiling, running unit tests, anlysing code etc.) , while developers focus...
If you’re working on a project, chances are you’re also using some kind of issue tracker (like Jira or Trac). Most modern issue trackers allow integration with version control systems such as Git, so that it’s possible to view any commits attached to a certain issue. This works by the issue tracker parsing the commit message and looking for certain patterns corresponding to issues.
I have just created a Git presentation. The presentation is named Git, Practical Tips, and it contains good practices that I have picked up during my four years as a Git user.
The presentation consists of six parts, A quick introduction; History manipulation with merge, rebase and reset; Finding with Git; Configuration; Under the hood; and Interacting with Github.
If you find this interesting...
This tutorial describes the process of setting up a simple ASP.NET MVC Web Application with Entity Framework and Code First Migrations and a workflow for developing, testing, staging and deploying the application with full automation using GitHub, Jenkins and IIS.
Setting up a development machine
First of all, make sure you have installed the following software:
Git for Windows or GitHub...
It lets you stage parts of files for commit, let me show you how.
I cannot do one thing at a time, I try to, but never succeed. Especially when It comes to coding. All the time I find myself working on a feature, and when jumping around in the code base I find stuff that needs fixing, and I fix it. As a result of this, my commit messages often have a bullet list, or some “and”s in...
So you have heard about continuous delivery and continuous deployment and you are eager to try, but your manager is afraid that you will lose traceability of the project. How can frequent updates of your binaries be tracked in a rapidly progressive environment, where every commit is a potential release?
Artifact Version vs. Commit
The traditional Java community way of version handling with a...
Git is an amazing version control system that never loses anything, but
sometimes it can be hard to find out where things are. Most of the time
it is going to be git log that is our friend, but not all the time.
Where is my file?
Sometimes you know that you have a file in your repository but, you
don't know exactly where it is. git ls-files is the...
Heroku is a cloud application platform for Ruby/Rails and Node.js. However, the Cedar stack on Heroku makes it possible to deploy other types of applications. In this blog entry, I will first describe how to write a simple Clojure web app using the Ring library and the build tool Leiningen. Then I will show how to deploy this Clojure web app on Heroku, using nothing but Git. I will make a change...
I had the unfortunate experience of having to use Subversion again after using Git for a long time. It is amazing how fast I can forget. After renaming a directory at the prompt, and the agony that goes with it, I decided to switch back to Git.
$ mv requester sampler
# svn agony after renaming a directory
$ svn st
When you clone a git repository, everything is automatically setup to allow you to fetch, pull, push to and from the remote repository, origin. But what is really going on? git remote is configured with a few lines of configuration in the config file inside the .git/ directory.
Here’s how it works:
Create a new repository, called base, add a file to it, then...
One of the nicest features of Git is that it's possible to use it locally against a Subversion server. For many this is a crucial selling point as it allows individual developers to take advantage of Git while not requiring that the entire project switches version control from Subversion. On your local Git repository you're then free to do as many branches as you like, or otherwise take advantage...