[TOC]
# 為你自己學 Git
[另一種合併方式(使用 rebase) - 為你自己學 Git | 高見龍 (gitbook.tw)](https://gitbook.tw/chapters/branch/merge-with-rebase.html)
# 代碼檢視工具*Gerrit*的日常使用
# 國內git托管平臺
[碼云](https://gitee.com/)
[Coding](https://coding.net/)
[gitshell](https://gitshell.com/)
[Taiga](https://taiga.io/)是一個項目管理平臺,為敏捷開發人員、設計人員和項目經理提供一個讓工作變得真正令人愉快的漂亮工具。
# 可視化比較工具
> [Linux下9種優秀的代碼比對工具推薦](https://www.cnblogs.com/yychuyu/p/13189615.html)
## Meld
[Meld](http://meldmerge.org/) 是一個輕量級 GUI 代碼比對工具,作為**免費和開源的**,它支持用戶比對文件、目錄,并且高度集成版本控制軟件。但針對軟件開發人員,它的以下幾個特性尤為吸引人:
* 執行雙向和三向差異并合并
* 輕松地在差異和沖突之間導航
* 逐個文件地比較兩個或三個目錄,顯示新文件,缺失文件和更改文件
* 支持許多版本控制系統,包括 Git,Mercurial,Bazaar 和 SVN 等。
## KDiff3
[KDiff3](http://kdiff3.sourceforge.net/) 是另外一種很強大的跨平臺差異比對及合并工具,它是由`KDevelop`開發而成,可以在所有類 Unix 平臺上運行,包括 Linux ,Mac OS ,Windows 等。可以比對或合并兩到三個文件或目錄。
## Diffuse
[Diffuse](http://diffuse.sourceforge.net/download.html)
是另外一款很受歡迎的,免費,小巧,也十分簡單的 GUI 文本差異比對合并工具,它是用 Python 寫成的,具有兩個主要功能:文件比對及版本控制,允許文件編輯、合并,并且輸出兩個文件的差異點。
你可以使用它查看文本比對小結,使用鼠標選擇文件里的某行進行編輯。
## DiffMerge
[DiffMerge](https://sourcegear.com/diffmerge/) 是一個跨平臺的 GUI 文本比對工具,具有 Linux ,Windows ,macOS 三大平臺版本。我們知道,BeyondCompare 是一款收費軟件,所以如果你們公司的版權要求比較高的話,不妨考慮一下 DiffMerge工具。
DiffMerge 具有兩大功能:1. 圖示化顯示兩個文件之間的改變。包含內部行高亮和完整的編輯支持。2. 圖示化顯示三個文件之間的改變。允許自動合并(當可以安全操作時)和對結果文件完全編輯控制。
## Beyond Compare
"BeyondCompare(4.1.9.21719)綠色"
[Beyond Compare](http://www.scootersoftware.com/)并且還允許比較PDF,Excel和圖像文件。“Pro”版本還包括一個堅實的三文件合并。
## [P4Merge](https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge)
Perforce是以其企業級版本控制平臺而聞名的公司,也提供了一個堅實的差異工具:[P4Merge](https://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools)是**免費**的,并配有一個基本功能集,使其成為一個有趣的選擇。
https://www.jianshu.com/p/bc059d2846c1
## Code Compare
除了提供所有標準的差異和合并功能,[Code Compare](https://www.devart.com/codecompare)還提供了一些特殊功能,如語法高低和 VisualStudio 集成。
基本版本可以免費使用,而專業版提供了完整的功能集。
## 配置文件
**.gitigonre** 你想要忽略的文件或者目錄
~~~
/mtk/ 過濾整個文件夾
*.zip 過濾所有.zip文件
/mtk/do.c 過濾某個具體文件
~~~
`.gitattribute`用于設置文件的對比方式(常用非文本文件)
參考地址:https://git-scm.com/book/zh/v1/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git%E5%B1%9E%E6%80%A7
# 參考
http://www.epubit.com.cn/article/829
http://blog.csdn.net/tangbin330/article/details/9128765
http://www.ihref.com/read-16369.html
http://www.h5course.com/plus/search.php?q=git
[使用Git多人協作,完成項目開發](http://www.h5course.com/a/20160629431.html)
[How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/)
https://waffle.io/
https://www.zenhub.com/
https://sourcegraph.com
[Git常用命令及軟件推薦](http://www.cnblogs.com/PeunZhang/p/5957211.html)
# 書籍
[Building Git - jcoglan.com](https://shop.jcoglan.com/building-git/)
[Git提交表情大全](https://www.bugcatt.com/git%e6%8f%90%e4%ba%a4%e8%a1%a8%e6%83%85)
[https://opencollective.com/](https://opencollective.com/)
- 介紹
- 1. Get Git - 安裝并且設置Git
- 2. Repository - 建立一個本地的repository
- 3. Commit to it - 檢查狀態、新增或修改commits
- 4. GitHubbin - 注冊GitHub帳號
- 5. Remote Control - 將repository做本地和遠程的連接
- 6. Forks and Clones - Fork和clone一個開源的計劃
- 7. Branches aren't just for Birds - 建立一個feature branch
- Git分支開發模型
- 8. It's a Small World - 邀請并和別人合作
- 9. Pull, Never Out of Date - 利用Push和pull來和GitHub.com同步
- 10. Requesting You Pull Please - 建立一個pull request
- 11. Merge Tada - Merge和刪除branches
- 學會 GitHub
- GitHub 使用指南
- git 與 github 模板配置
- GitHub Actions
- 實用技巧
- Git Flow
- Submodule子模塊
- 工作記錄
- 常用命令
- 幫助
- 資源
- 解疑答惑