版权声明:本文为博主原创文章,转载请标明出处 https://blog.csdn.net/YangDongChuan1995/article/details/81989086
基本原理
查看「.git」文件夹里的结构tree
or ll
都可以:
这里包括了所有Git存储和操作的对象
HEAD 文件指示目前被检出的分支
index 文件保存暂存区信息
objects 目录存储所有数据内容
refs 目录存储指向数据(分支)的提交对象的指针
版本迭代的过程:
扫描二维码关注公众号,回复:
3405415 查看本文章
分支 与 HEAD:
- 分支本质上仅仅是指向提交对象的可变指针
- HEAD是指向当前所在的分支,并随着提交操作自动向前移动
冲突
类型:
- 自动合并
- 逻辑冲突
- 真正的冲突
- 树冲突
参考:
实践与解决方案:
- 类似与import引起的冲突「禁止对老代码使用工具进行格式化」
- 改动他人代码引起冲突「通过annotation找到具体开发,了解清楚业务后在做merge」
- 文件引起的冲突「 如果特别复杂,可以考虑Copy一份手动改『建议:及时提交本地代码代远程仓库』」
常用命令与配置
命令:
配置:
操作 | 含义 |
---|---|
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号