git 进阶

这篇博客深入探讨了Git的工作区到本地仓库的转换,包括HEAD和master的理解,分支操作,合并与冲突解决,以及变基和别名设置。此外,还介绍了如何将本地仓库推送到远程仓库,配置SSH密钥,并穿插讲解了一些基础的Linux命令,如ls、cd、pwd等。
摘要由CSDN通过智能技术生成

git 进阶



一、git 工作区 到 本地仓库

1. 什么是HEAD?!什么是master?

1. 提交对象:
	1. Git 保存的并不是文件的变化或者差异,而是一系列的不同时刻的文件快照
	2. 提交操作时Git会保存一个提交对象,该对象中包含一个指向暂存内容快照的指针、作者姓名、邮箱、
	   父对象指针以及提交输入信息
	3. 首次提交的对象没有父对象
	4. 普通的提交有一个父对象
	5. 多个分支合并的有多个父对象
	
2. 什么是HEAD
 	1. HEAD是一个特殊指针,该指针指向当前所在分支
	2. HEAD是唯一的

2. master分支

1. Git 的分支本质上仅仅是指向提交对象的可变指针。
2. Git默认分支名:master,它会在每一次的提交中自动前移。
3. Git的分支 master并不是一个特殊分支,它和其他的分支完全没有区别,
   之所以每个分支都是有master是git init命令默认创建,而大部分人又懒得去更改

3. 分支操作

1. 创建分支
	git branch 分支名
	(创建出来分支不会改变当前所载位置)
2. 切换分支
	git checkout 分支名
	(将HEAD指向切换的分支)
3. 两个命简写
	git checkout -b 分支名
	(创建分支并且切换分支)

3. 合并分支

1. 将目标分支的内容合并到当前分支(HEAD指向主分支)
	git merge 目标分支
2. 快速前移(不理想)
	当master和branch没有形成分叉,依旧是处于一条路径线,当HEAD落后于所要合并的分支,
	将会形成快速前移
3. --no-ff 禁止快速前移(可以commit记录描述为合并操作)

4. 分支冲突

1. 如何判断是否会引起冲突:
	 master 和 branch1 处于同一条commit路径上(直接级祖先关系)
	 master 和 branch1 直接进行合并,不会引起冲突  
	     ① 分析 master 和 bran
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值