Diff & Merge Tools

To understand what happened in a project, you need to inspect changes. And since changes are represented as "diffs", it's crucial to be able to understand these diffs.

While the command line is the easiest way to output diff data, it can't go very far in making it easy to read:

$ git diff
diff --git a/css/about.css b/css/about.css
index e69de29..4b5800f 100644
--- a/css/about.css
+++ b/css/about.css
@@ -0,0 +1,2 @@
+h1 {
+  line-height:30px; }
\ No newline at end of file
diff --git a/css/general.css b/css/general.css
index a3b8935..d472b7f 100644
--- a/css/general.css
+++ b/css/general.css
@@ -21,7 +21,8 @@ body {

 h1, h2, h3, h4, h5 {
   color:#ffd84c;
-  font-family: "Trebuchet MS", "Trebuchet"; }
+  font-family: "Trebuchet MS", "Trebuchet";
+  margin-bottom:0px; }

 p {
   margin-bottom:6px;}
diff --git a/error.html b/error.html
deleted file mode 100644
index 78alc33..0000000
--- a/error.html
+++ /dev/null
@@ -1,43 +0,0 @@
- <html>
- 
-   <head>
-     <title>Tower :: Imprint</title>
-     <link rel="shortcut icon" href="img/favicon.ico" />
-     <link type="text/css" href="css/general.css" />
-   </head>
-

A diff tool application, in contrast, is dedicated to just this single job: helping you understand diffs more easily. It uses colors, special formatting, and even different arrangements (side-by-side, combined in a single column, etc.) to achieve this:

gui-example-diff

Some of these tools can even help you solve merge conflicts. Especially in this situation, you'll quickly come to appreciate a tool that helps reduce complexity and avoid mistakes.

Today, there are lots of great tools on the market. Below is a short list to give you an overview.

Mac OS X

Windows

Follow Us

About Us

Git is the best version control system currently available.
Our mission is to help people learn it and use it productively.

As the makers of Tower, the best Git client for Mac, we already help over 35,000 users in companies like Apple, Google, Amazon, Twitter, and Ebay get the most out of Git.

With the "Learn Git" project, we want to enable even more people to learn version control with Git — no matter if they're on a Mac or a PC, or if they're using the Command Line Interface or a GUI.