git是什么?
Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
对git的理解
git,是一个分布式版本控制软件,最初目的是为更好地管理Linux内核开发而设计
分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来
github或者gitee实际就可以充当这个服务器角色,其是一个开源协作社区
当我们通过git init创建或者git clone一个项目的时候,项目目录会隐藏一个.git子目录,其作用是用来跟踪管理版本库的
文件状态对应的,不同状态的文件在Git中处于不同的工作区域,主要分成了四部分:
工作区:相当于本地写代码的区域,
暂存区:暂存区是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中
本地仓库:提交更新,找到暂存区域的文件,将快照永久性存储到 Git 本地仓库
远程仓库:远程的仓库,如 github
git常用命令
- git init 初始化
- git status 查看本地仓库状态
- git add . 将全部的工作区的改动提交到暂存区
- git commit -m 提交备注
- git log 查看版本的日志信息
- git reflog 查看所有的版本提交信息
- git reset --hard id git版本穿梭
- git branch dev 创建分支
- git checkout dev 切换分支
- git merge dev 首先切换到主分支,然后再使用命令 ,合并到一起
- git branch -a 查看所有分支
- git push -u origin 分支 将分支上传到gitee
- git checkout -b 创建并切换分支
- git push -u origin master 第一次提交分支时需要的命令
- git remote 查看当前git源头
- git remote rm origin 移除源头
- git branch -D 删除分支
git冲突的场景,如何解决
一般情况下,出现分支冲突的场景有如下:
多个分支代码合并到一个分支时
多个分支向同一个远端分支推送
具体情况就是:多个分支修改了同一个文件(任何地方)或者多个分支修改了同一个文件的名称
如果两个分支中分别修改了不同文件中的部分,是不会产生冲突,直接合并即可。
应用在命令中,就是push、pull、stash、rebase等命令下都有可能产生冲突情况,从本质上来讲,都是merge和patch(应用补丁)时产生冲突
当Git无法自动合并分支时,就必须首先解决冲突,解决冲突后,再提交,合并完成
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。