(三)Java工程化--Git起步

來源:互聯網
上載者:User

標籤:gen   xxx   理解   速度   一個   use   efault   def   快照   

GIT學習參考:https://git-scm.com/book/zh/v2

版本控制

版本控制記錄了一個或若干檔案的曆史變化,便於今後查閱,恢複。

三類版本控制系統
  1. 本地版本控制系統 RCS : 本機存放區檔案變更系統,無法協作及對許可權做統一管理
  2. 集中化版本控制系統 CVCS : 變更儲存於集中的一台伺服器
  3. 分布式版本控制系統 DVCS : 分布式儲存版本庫鏡像, 包含檔案曆史變更的所有資訊
Git的曆史

git來自於linux團隊, 是linux為瞭解決之前版本管理工具Bitkeeper收費的問題研發出來的。

設計目標

  • 速度
  • 簡單
  • 對非線性開發模式的強力支援(多個並行開發的分支)
  • 完全分布式
  • 適用超大規模項目

linux是開源的, 所以當他們之前使用的版本工具開始收費的適合,他們決定自己研發一個版本控制工具,即Git.

說起開源, 我們需要瞭解下常見的開源協議,以便我們做技術選型時考慮.例如一般的開源協議都要求使用開源架構的項目也要開源.

Git與SVN(或者說其他版本控制系統)的區別
  1. 直接記錄快照,而非差異比較

     瞭解此項差異的底層實現方式非常重要,有利於我們更準確的理解和學習Git.具體可以參考文章開始的網站資料.(有圖有真相)
  2. 近乎所有操作都在本地執行(得益於第一點的底層實現,即分布式儲存)
  3. Git使用sha1雜湊演算法算出的校正和保證完整性

     Git的索引是校正值而不是檔案名稱,如果在傳送過程中有資訊丟失和損壞,Git就能發現.
  4. Git一般只添加資料 (只要提交便不會遺失資料,可以執行可逆操作)

使用前的配置
  • git config --list 顯示所有配置
  • git config --global user.name ‘user‘ 設定使用者名稱
  • git config --global user.email ‘[email protected]‘ 設定使用者郵箱
  • ssh-keygen -t rsa -C ‘[email protected]‘ 產生ssh密鑰
  • 多使用者配置方法: 在.ssh路徑下(C:\Users\xueli.ssh)建立檔案config, 添加下面內容

    # Default github user([email protected])
    Host github.com
    HostName github.com
    User git
    IdentityFile C:\Users\xueli.ssh\id_rsa

# Default mygitlib user([email protected])
Host mygitlib.com
HostName mygitlib.com
User git
IdentityFile C:\Users\xueli.ssh\mygitlib

上面是Git起步和背景知識, 下次將學習Git常用命令.

(三)Java工程化--Git起步

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.