Git版本控制
版本控制
版本控制是对软件开发过程当中的各种程序代码,配置文件,说明文档等文件变更的管理,是软件配置管理的核心思想之一。
编写一个成熟可用的程序是一个工作很大的工程,不是我们或一次性可用搞定工作,所以在开发过程当中,有以下特点:
多人协作:Ui,前端,后端,数据库,运维。
版本迭代:针对当前代码进行修改和升级,通过几次迭代达到预想的目的。
版本控制工具:
CVS 是一个c/s结构的版本控制软件,主要用于开源的软件管理,是多个开发人员通过一个版本控制中心系统来记录文件版本,从而达到保证文件同步的目的,是一种很古老的集中式版本控制工具。
SVN 也是集中式版本控制工具,他是最优秀的集中式版本控制工具。
集中式版本管理工具:
缺点:代码集中于SVN服务器上,一旦发生问题,很难挽回
优点:代码集中于SVN服务器上,不会发生个别新手污染代码的情况
GIT 是一个分布式的版本控制工具
版本控制常用名词
拉取 :pull 从服务端下载代码
提交 :push commit 提交代码
合并: 将两份代码进行结合
冲突 :两个开发版本对同一个文件有不同的修改,这时合并会有冲突
描述: 所有提交的版本都必须有详细的版本描述
时间:提交人:提交的功能——》2019-07-01:边:提交登陆验证码功能
回溯: 进行版本内容的回滚。
Git的原理:
Git分为本地库和远程库。
Git基本操作
通过官网下载git的安装包,git官网地址: https://git-scm.com/
安装完成之后,在windows下的任意目录右键可以看到git的命令行,Git bash执行linux的命令。
1,Git 需要把当前的目录转换为git目录
git init——》 初始化一个git目录
2,创建Git项目提交身份
配置局部身份:
git config user.name laobian ——》 设置提交名
git config user.email laobian@qq.com ——》设置提交邮箱
cat .git/config——》查看局部提交身份
配置全局身份:
git config --global user.name laobian ——》设置全局提交名
git config --global user.email laobian@qq.com ——》设置全局提交邮箱
git ~/.gitconfig——》查看全局提交身份
优先级:就近原则,有局部用局部,没有局部用全局,二者不可以都没有。
3,查看当前版本的状态
git status
4,将文件提交到缓冲区
git add 1.txt
5,将文件提交到本地库
git commit 1.txt————在第一行输入文件描述
或者使用
Git commit -m “描述” 文件——》 提交指定文件
Git commit -m “描述” ——》提交当前缓冲库当中的所有文件
6,查看详细版本信息
git log——》查看详细版本信息
git reflog——》列表性展示版本信息
指针
指针命令:git reset --hard 版本ID——》指针指到对应的版本
分支
分支:一个独立的开发路线
项目创建之初就有一个分支(branch) master,但是我们还可以创建新的分支
git branch 分支名称 ——》创建分支
git branch -v ——》查看分支
git checkout 分支名称——》切换分支
git merge 分支名称——》分支合并
例如:将online合并到master上 —》在master分支下输入 git merge online 命令
冲突
在合并过程中,会发生合并冲突
冲突的文件里面展示的冲突的内容
解决冲突
以将online合并到master上为例。文件名(1.txt)
1,进行合并
git merge online
2,进入冲突文件,进行手动的代码调整
vim 1.txt——调整代码
3,进行add将冲突文件添加到缓冲区
git add 1.txt
4,进行commit提交,注意不要指定具体提交的文件名称
git commit -m “描述”
5,冲突解决完成