(三)Java工程化–Git起步
GIT學習參考:https://git-scm.com/book/zh/v2
版本控制
版本控制記錄了一個或若干檔案的歷史變化,便於今後查閱,恢復。
三類版本控制系統
- 本地版本控制系統 RCS : 本地儲存檔案變更系統,無法協作及對許可權做統一管理
- 集中化版本控制系統 CVCS : 變更儲存於集中的一臺伺服器
- 分散式版本控制系統 DVCS : 分散式儲存版本庫映象, 包含檔案歷史變更的所有資訊
Git的歷史
git來自於linux團隊, 是linux為了解決之前版本管理工具Bitkeeper收費的問題研發出來的。
設計目標
- 速度
- 簡單
- 對非線性開發模式的強力支援(多個並行開發的分支)
- 完全分散式
- 適用超大規模專案
linux是開源的, 所以當他們之前使用的版本工具開始收費的適合,他們決定自己研發一個版本控制工具,即Git.
說起開源, 我們需要了解下常見的開源協議,以便我們做技術選型時考慮.例如一般的開源協議都要求使用開源框架的專案也要開源.
Git與SVN(或者說其他版本控制系統)的區別
-
直接記錄快照,而非差異比較
瞭解此項差異的底層實現方式非常重要,有利於我們更準確的理解和學習Git.具體可以參考文章開始的網站資料.(有圖有真相)
- 近乎所有操作都在本地執行(得益於第一點的底層實現,即分散式儲存)
-
Git使用sha1雜湊演算法算出的校驗和保證完整性
Git的索引是校驗值而不是檔名,如果在傳送過程中有資訊丟失和損壞,Git就能發現.
-
Git一般只新增資料 (只要提交便不會丟失資料,可以執行可逆操作)
使用前的配置
-
git config --list
顯示所有配置 -
git config --global user.name `user`
設定使用者名稱 -
git config --global user.email `user@xxx.com`
設定使用者郵箱 -
ssh-keygen -t rsa -C `user@xxx.com`
生成ssh金鑰 - 多使用者配置方法: 在.ssh路徑下(C:Usersxueli.ssh)建立檔案config, 新增下面內容
# Default github user(usergithub@mail.com)
Host github.com
HostName github.com
User git
IdentityFile C:Usersxueli.sshid_rsa
# Default mygitlib user(second@mail.com)
Host mygitlib.com
HostName mygitlib.com
User git
IdentityFile C:Usersxueli.sshmygitlib
上面是Git起步和背景知識, 下次將學習Git常用命令.
相關文章
- Git詳解之一:Git起步Git
- 前端 Git-Hooks 工程化實踐前端GitHook
- GraphQL java工程化實踐Java
- git操作之三:git resetGit
- Git詳解之三:Git分支Git
- webpack 起步Web
- thinkphp起步PHP
- Redis 起步Redis
- 前端工程化之git篇全解,深入底層命令,遠端庫 -助您輕鬆暢遊git前端Git
- 洋碼頭曾碧波:進口電商“三直”模式起步模式
- git筆記(三)Git筆記
- Appfuse:起步APP
- JML起步---使用JML 改進你的Java程式(1) (轉)Java
- JML起步---使用JML 改進你的Java程式(3) (轉)Java
- JML起步---使用JML 改進你的Java程式(4) (轉)Java
- JML起步---使用JML 改進你的Java程式(2) (轉)Java
- Git 系列(五):三個 Git 圖形化工具Git
- 【git學習三】git基礎之git管理遠端倉庫Git
- Vue起步(無cli)Vue
- laravel和thinkphp起步LaravelPHP
- Ansible 起步指南
- Augularjs-起步JS
- 前端工程化前端
- go 工程化Go
- 跟著阿里學JavaDay02——Java程式設計起步阿里Java程式設計
- Git 系列(三):建立你的第一個 Git 倉庫Git
- Flutter起步之安裝Flutter
- go學習之路 --- 起步Go
- cmake使用教程(一)-起步
- vue.js的起步Vue.js
- Activity的起步流程分析
- 第1章 jQuery 起步jQuery
- 第1章jQuery起步jQuery
- Git三大特色之Branch(分支)Git
- # python工程化Python
- API 工程化分享API
- 前端工程化概述前端
- 理解前端工程化前端