Git学习笔记(二)

版权声明:本文为博主原创文章,转载请标明出处 https://blog.csdn.net/YangDongChuan1995/article/details/81989086

基本原理

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

image-20180823134019923

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

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

  • index 文件保存暂存区信息

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

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

版本迭代的过程:

image-20180823134355641

扫描二维码关注公众号,回复: 3405415 查看本文章

分支 与 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号

猜你喜欢

转载自blog.csdn.net/YangDongChuan1995/article/details/81989086