1.git简介
git是一个免费的开源的分布式版本控制系统,可以快速高效的处理从小型到大型项目的所有事务
在实际工作中可以保留项目的所有版本,可以快速的实现版本的回滚和修改
git整体可以分为4个区域的划分
工作区:程序员直接修改代码文件
暂存区:暂存修改的文件
版本库:提交到本地一个版本
远程仓:远程存放代码,便于共享
2.git的安装
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
3.git初始化
3.1 目录初始化
我们安装git之后,接下来就是创建一个目录,用做初始化,也就是让git管理该目录
3.2 用户配置
对于刚下载的git,我们通常要配置用户名和邮箱,为了以后提交代码使用,只需要配置一次即可
4.git本地常用操作
4.1查看git文件状态
我们在做任何操作的时候,都会确定当前文件状态
4.2 加入暂存区
4.3 加入版本管理
4.4 查看提交记录
4.5 查看某次提交做的修改
4.6 查看当前修改的内容
4.7 清除未被git管理的文件
4.8 撤销操作
4.8.1 撤销工作区修改
4.8.2 撤销暂存区的修改
4.8.3 撤销版本区到暂存区
4.8.4 撤销版本区到工作区的已修改
4.8.5 撤销版本区到工作区,工作区内容完全清除
5.HEAD
HEAD是指向当前所在分支的当前提交记录的引用标识符
6.分支
分支本质上就是只想提交对象的可变指针,git中的分支才是我们有可能完成多人协同开发,使用分支的场景
多人协同开发,最后合并代码
一个人针对不同的开发,在不同分支上开发,避免影响主分支
6.1 查看分支
6.2 创建分支
6.3 切换分支
6.4 创建并切换分支
6.5 删除分支
删除分支的时候必须切换到其他分支才能删除指定分支
6.6 合并分支
合并分支的时候,如果希望A分支合并到B分支,那么首先要切换到B分支上
6.7 变基合并
变基可以保持代码提交的整洁
通过merge合并分支,查看log记录,饿哦们可以很清晰的看出两个分支在什么位置合并的,各个分支的节点,但如果分支很多,合并很复杂,也是感觉很乱的,如果我们希望log记录是一条直线,可以考虑变基合并,如下两张图
6.8 cherry-pick
6.9 stash操作
我们在一个分支上工作的时候,如果需要切换到另一个分支,但又不希望提交当前的修改,我们可以隐藏当前分支的修改
7.冲突
冲突产生的原因就是两个要合并分支(或者节点)对同一个文件的的同一行文件做了修改,关于合并的操作都可能产生冲突
解决冲突的办法(git merge)
找到产生冲突的文件,寻找产生冲突的代码
决定保留那一个分支上的代码
重新提交
8.远程操作
远程仓库,顾名思义就是在远端有一个仓库,存储这我们的代码,我们要做的就是实现本地仓库和远程仓库的交互
我们常用的就是github,可以自己上去申请一个账号https://github.com/
8.1 代码仓克隆
克隆之后的本地仓库,会默认生成远程分支跟踪远程仓库的所有分支
8.2 远程仓管理
8.3 推送代码
8.4 拉取代码-fetch
将本地远程分支更新到远程分支的最新状态,但是本地分支不发生改变
8.5拉取代码-pull
将本地远程分支更新到远程仓库最新状态,然后合并本地分支
使用该命令的前提是本地分支跟踪远端分支
9.其他
9.1 ssh
9.2 git blame
标签:
留言评论