GIT版本控制

143 阅读4分钟

版本控制简介

版本控制

工程设计领域中使用版本控制管理工程蓝图的设计过程。在 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中拉取或推送时发现冲突,可以按照以下步骤进行处理:

  1. 停止推送/拉取操作:一旦发现冲突,应立即停止当前的推送或拉取操作。
  2. 定位冲突文件:使用命令 git status 查看冲突的文件。这些文件在Git中会被标记为" CONFLICT"状态。
  3. 打开冲突文件:使用文本编辑器打开冲突文件,查看冲突部分。Git会在文件中标记出冲突的部分,通常是以<<<<<<<和>>>>>>>分隔的三个部分组成,中间的部分是冲突的内容。
  4. 手动解决冲突:根据实际情况,选择保留哪一方的更改,或者整合两者的更改。你可以删除Git添加的标记,然后保存文件。
  5. 标记冲突已解决:在解决完冲突后,需要使用Git命令来标记冲突已解决。使用 git add <文件名> 将文件添加到暂存区。
  6. 继续推送/拉取操作:一旦所有冲突都解决完毕,并已将文件标记为已解决冲突的状态,可以继续执行推送或拉取操作。

如何解决合并冲突?

解决合并冲突主要有以下步骤:

  1. 打开出现冲突的文件,找出Git添加的冲突标记。通常情况下,Git会在文件中标记出冲突的部分,包括冲突内容及其前后的标记。
  2. 根据实际情况,选择保留哪一方的更改,或者整合两者的更改。你可以删除Git添加的标记,然后保存文件。
  3. 使用 git add <文件名> 将文件添加到暂存区,标记冲突已解决。
  4. 最后,继续执行合并或拉取操作。