Git學習筆記(二)

基本原理

查看「.git」文件夾裏的結構treeor ll 都可以:

image-20180823134019923

這裏包括了所有Git存儲和操作的對象

  • HEAD 文件指示目前被檢出的分支

  • index 文件保存暫存區信息

  • objects 目錄存儲所有數據內容

  • refs 目錄存儲指向數據(分支)的提交對象的指針

版本迭代的過程:

image-20180823134355641

分支 與 HEAD:

image-20180823134241622

  1. 分支本質上僅僅是指向提交對象的可變指針
  2. HEAD是指向當前所在的分支,並隨着提交操作自動向前移動

衝突

類型:

  • 自動合併
  • 邏輯衝突
  • 真正的衝突
  • 樹衝突

參考:

GIT中合併衝突決解

Git 工具 - 高級合併

實踐與解決方案:

  1. 類似與import引起的衝突「禁止對老代碼使用工具進行格式化」
  2. 改動他人代碼引起衝突「通過annotation找到具體開發,瞭解清楚業務後在做merge」
  3. 文件引起的衝突「 如果特別複雜,可以考慮Copy一份手動改『建議:及時提交本地代碼代遠程倉庫』」

常用命令與配置

命令:

image-20180823140015347

配置:

操作 含義
git config –global user.name “xxx” 設置用戶名
git config –global user.email “[email protected] 設置郵箱
git config –global push.default simple Git 2.x 默認的是「simple」
git config –global core.autocrlf false 使 Git 不用管 windiws / unix 換行符轉換
git config –global gui.encoding utf-8 避免 git gui 中的中文亂碼
git config –global core.quotepath off 避免 git status 顯示的中文文件名亂碼
git config –global core.ignorecase false 僅「Windows」上需要配置

約定習俗:

  • 發開策略:分支開發,主幹發佈
  • 分支格式:日期-jira號
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章