基本原理

查看「.git」文件夹里的结构treeor ll 都可以:

Git学习笔记(二)

这里包括了所有Git存储和操作的对象

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

  • index 文件保存暂存区信息

  • objects 目录存储所有数据内容

  • refs 目录存储指向数据(分支)的提交对象的指针

版本迭代的过程:

Git学习笔记(二)

分支 与 HEAD:

Git学习笔记(二)

  1. 分支本质上仅仅是指向提交对象的可变指针
  2. HEAD是指向当前所在的分支,并随着提交操作自动向前移动

冲突

类型:

  • 自动合并
  • 逻辑冲突
  • 真正的冲突
  • 树冲突

参考:

GIT中合并冲突决解

Git 工具 - 高级合并

实践与解决方案:

  1. 类似与import引起的冲突「禁止对老代码使用工具进行格式化」
  2. 改动他人代码引起冲突「通过annotation找到具体开发,了解清楚业务后在做merge」
  3. 文件引起的冲突「 如果特别复杂,可以考虑Copy一份手动改『建议:及时提交本地代码代远程仓库』」

常用命令与配置

命令:

Git学习笔记(二)

配置:

操作 含义
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号

相关文章:

  • 2021-08-17
  • 2021-08-09
  • 2021-08-24
  • 2021-05-14
  • 2021-10-26
  • 2021-06-13
猜你喜欢
  • 2021-10-28
  • 2021-09-03
  • 2018-12-06
  • 2021-08-22
  • 2021-05-19
相关资源
相似解决方案