# 比較和整合工具
要了解在項目中都發生了什么,你就需要檢查發生的改動。由于改動過的文件會被表示為 “diff”,所以關鍵就是在于更好地理解這些改動差異。
盡管在命令行界面中可以非常簡單地輸出這些差異信息,但是要讀懂這些信息還是很有難度的。
```
$ 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>
-
```
比較工具僅僅致力于一個單一的工作,那就是幫助你來更容易地理解這些差異。它會使用不同的顏色,特殊的格式,甚至是不同的布局(并排,組合單個列等等)來展現出不同文件中差異:

其中一些工具甚至還可以幫助你解決合并沖突。特別是在這種情況下,你很快就能體會到,它可以非常有效地幫助降低操作的復雜性并避免錯誤的產生。
今天,我們可以找到很多強大的比較工具。下面這個列表就為你列出了一些:
## Mac OS X
* Kaleidoscope [www.kaleidoscopeapp.com](http://www.kaleidoscopeapp.com)
* Araxis Merge: [www.araxis.com](http://www.araxis.com/merge)
* DeltaWalker: [www.deltopia.com](http://www.deltopia.com/compare-merge-sync/macosx)
## Windows
* Beyond Compare: [www.scootersoftware.com](http://www.scootersoftware.com)
* Araxis Merge: [www.araxis.com](http://www.araxis.com/merge)
* P4Merge: [www.perforce.com](http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools)
- Learn Version Control with Git 中文版
- 前言
- Part 1 - 基礎知識
- 什么是版本控制?
- 為什么要使用版本控制系統?
- 準備工作
- 版本控制的基本工作流程
- 從一個未被納入版本控制的項目開始
- 從一個已被納入版本控制的項目開始
- 工作在你的項目上
- Part 2 - 分支與合并
- 分支可以改變你的生命
- 在分支上工作
- 暫時保存更改
- 切換一個本地分支
- 合并改動
- 分支的工作流程
- Part 3 - 遠程倉庫
- 關于遠程倉庫
- 連接一個遠程倉庫
- 查看遠程數據
- 整合遠程的改動
- 發布一個本地分支
- 刪除分支
- Part 4 - 高級應用
- 撤銷操作
- 用 diff 來檢查改動
- 處理合并沖突
- Rebase 代替合并
- 子模塊
- git-flow 的工作流程
- 使用 SSH 公鑰驗證
- Part 5 - 工具與服務
- 桌面應用程序
- 比較和整合工具
- 代碼托管服務
- 更多學習資源
- 附錄
- 版本控制的最佳實踐
- 命令 101
- 從 Subversion 過渡到 Git
- 為什么選擇 Git