Git学习笔记(二)

本文介绍了Git的基本原理,包括Git文件夹结构、HEAD、index和objects等关键元素。讲解了分支与HEAD的工作方式,以及版本迭代过程。接着讨论了Git的冲突类型,如自动合并、逻辑冲突和树冲突,并提供了冲突解决的实践策略。最后,列举了一些常用的Git命令和配置建议,提倡分支开发和主干发布的开发模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本原理

查看「.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 “xxx@qq.com”设置邮箱
git config –global push.default simpleGit 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号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值