(三)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-Hooks 工程化實踐前端GitHook
- GraphQL java工程化實踐Java
- git操作之三:git resetGit
- webpack 起步Web
- 前端工程化之git篇全解,深入底層命令,遠端庫 -助您輕鬆暢遊git前端Git
- 跟著阿里學JavaDay02——Java程式設計起步阿里Java程式設計
- shell之起步
- Vue起步(無cli)Vue
- .NET8 起步
- Yaf快速起步(二)
- laravel和thinkphp起步LaravelPHP
- 前端工程化前端
- # python工程化Python
- go 工程化Go
- 在Visual Studio 中使用git——使用git管理原始碼(三)Git原始碼
- Spring Boot 起步依賴Spring Boot
- Flutter起步之安裝Flutter
- 外貿soho如何起步
- 茶生意怎麼起步?
- go學習之路 --- 起步Go
- Git三大特色之Branch(分支)Git
- 前端工程化概述前端
- 理解前端工程化前端
- DevOps的工程化dev
- Angularjs的工程化AngularJS
- API 工程化分享API
- 新手運營自媒體如何快速起步?讀懂這三點你將事半功倍
- 做茶葉生意如何起步?
- 版本管理三國志 (CVS, Subversion, git)Git
- 【第三篇】- Git 工作流程Git
- vue工程化開發Vue
- 前端工程化(理解篇)前端
- JS工程化集錦JS
- 外媒爆料2018三款新iPhone預計售價:起步和去年一致iPhone
- 08.ElementUI 2.X 原始碼學習:原始碼剖析之工程化(三)UI原始碼
- Java開發技術大雜燴(三)之電商專案優化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、JavaJava優化MQGitIntelIdeaHTTPJS
- React學習筆記1—起步React筆記
- 1.資料庫起步--------Mysql資料庫MySql