版本控制简介
版本控制
工程设计领域中使用版本控制管理工程蓝图的设计过程。在 IT 开发过程中也可以
使用版本控制思想管理代码的版本迭代。
版本控制工具
- 思想:版本控制
- 实现:版本控制工具
- 集中式版本控制工具:
CVS、SVN、VSS......
Git 的优势
- 大部分操作在本地完成,不需要联网完整性保证
- 尽可能添加数据而不是删除或修改数据
- 分支操作非常快捷流畅
- 与 Linux 命令全面兼容
Git 命令行操作
本地库初始化
命令:git add
设置签名
形式
用户名:tom
Email 地址:goodMorning@atguigu.com
作用:区分不同开发人员的身份
项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name tom_pro
git config user.email goodMorning_pro@atguigu.com
基本操作
状态查看
git status
查看工作区、暂存区状态
添加
git add [file name]
将工作区的“新建/修改”添加到暂存区
提交
git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
查看历史记录
git log
删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库。
操作:git reset --hard [指针位置]
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用 HEAD
分支管理
什么是分支?
在版本控制过程中,使用多条线同时推进多个任务。
分支的好处?
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任 何影响。失败的分支删除重新开始即可。
分支操作
创建分支
git branch [分支名]
查看分支
git branch -v
切换分支
git checkout [分支名]
合并分支
-
第一步:切换到接受修改的分支(被合并,增加新内容)上
-
git checkout [被合并分支名]
-
第二步:执行 merge 命令
-
git merge [有新内容分支名]
冲突的解决
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add [文件名]
第四步:git commit -m "日志信息"
拉取
pull=fetch+merge
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]
git拉取/推送时,发现冲突应如何处理?
当在Git中拉取或推送时发现冲突,可以按照以下步骤进行处理:
- 停止推送/拉取操作:一旦发现冲突,应立即停止当前的推送或拉取操作。
- 定位冲突文件:使用命令
git status查看冲突的文件。这些文件在Git中会被标记为" CONFLICT"状态。 - 打开冲突文件:使用文本编辑器打开冲突文件,查看冲突部分。Git会在文件中标记出冲突的部分,通常是以<<<<<<<和>>>>>>>分隔的三个部分组成,中间的部分是冲突的内容。
- 手动解决冲突:根据实际情况,选择保留哪一方的更改,或者整合两者的更改。你可以删除Git添加的标记,然后保存文件。
- 标记冲突已解决:在解决完冲突后,需要使用Git命令来标记冲突已解决。使用
git add <文件名>将文件添加到暂存区。 - 继续推送/拉取操作:一旦所有冲突都解决完毕,并已将文件标记为已解决冲突的状态,可以继续执行推送或拉取操作。
如何解决合并冲突?
解决合并冲突主要有以下步骤:
- 打开出现冲突的文件,找出Git添加的冲突标记。通常情况下,Git会在文件中标记出冲突的部分,包括冲突内容及其前后的标记。
- 根据实际情况,选择保留哪一方的更改,或者整合两者的更改。你可以删除Git添加的标记,然后保存文件。
- 使用
git add <文件名>将文件添加到暂存区,标记冲突已解决。 - 最后,继续执行合并或拉取操作。