Git学习文档

git的安装和与初始化

  • 下载git版本控制工具并安装

  • 在任意地方创建文件夹命名为demo,然后进入空白文件夹右击鼠标,点击git bash here会弹出git命令框
    在这里插入图片描述

  • 在命令框中,使用命令git init初始化为git仓库目录
    在这里插入图片描述

  • 在demo目录下放需要上传的文件
    使用命令给需要上传的文件添加到索引区,此处以a.txt为例
    在这里插入图片描述

git add .将文件夹内所有文件都添加进来

  • 查看git是否加入索引
    在这里插入图片描述
  • 将文件上传数据库
    在这里插入图片描述
  • 查看状态。此时索引区被清空
    在这里插入图片描述
    可以用git log命令查看操作记录

与码云gitee关联仓库

  • 登录码云gitee或者github,创建一个仓库(是个码农都知道这两个玩意,此处省略

  • 然后会拿到一个仓库地址
    在这里插入图片描述

  • 如果之前有remote仓库地址,可先git remote rm origin删除,再进行下列操作

  • 将地址重新命名,此处命名为origin,若不写也是默认为这个命名
    在这里插入图片描述

  • 第一次将本地数据库推送远程仓库需要命名和分支,如果是克隆的项目可以不需要输入
    在这里插入图片描述

  • 出现下面错误,解决方法
    在这里插入图片描述

  • 输入用户名和密码
    在这里插入图片描述

  • 确定后完成上传

git的克隆和上传项目,解决冲突的使用

克隆数据库

  • 进入gitee仓库,复制仓库地址
    在这里插入图片描述
  • 输入命令克隆项目,命名为demo2。(此处注意克隆的路径问题,防止小白找不到文件克隆到那个文件夹而泪目

git clone (地址) demo2
在这里插入图片描述

  • 然后就可以对数据进行操作啦

多人操作git仓库项目,更新项目,下载数据

  • 拉(下载)和克隆命令还是有区别的,想了解的也可以去查查
    在这里插入图片描述

  • 然后本地数据库就会被更新了

  • 如果同一个项目文件被更改,先上传的文件会覆盖远程数据库,后上传的文件将无法成功覆盖前者,会出现以下提示
    在这里插入图片描述

  • a.txt会记录冲突地方
    在这里插入图片描述
  • 修改或合并代码

删除三行标记,添加自己的代码
然后用add、commit和push命令上传
git log –graph –oneline命令一行查看日志
在这里插入图片描述

用命令为git log –graph –oneline命令设置别名
git config --global alias.别名 'log --graph --oneline'
在这里插入图片描述

  • 相当快捷键
    在这里插入图片描述

git的分支的操作

  • 创建分支,方便发布版本、添加功能、修改bug能同时运行
  • 新建仓库并初始化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 创建分支
    在这里插入图片描述

  • 查看分支
    在这里插入图片描述

  • 切换分支
    在这里插入图片描述

  • 查看当前所在分支
    在这里插入图片描述

  • 使用命令创建分支的同时切换到该分支

在这里插入图片描述
在这里插入图片描述

  • 删除一个分支
    在这里插入图片描述

  • 强制删除一个分支
    在这里插入图片描述

  • 上传数据到仓库后,修改日志只会记录到当前分支,其他分支不显示

将树存入暂存区

  • 还未提交和上传修改内容文件就进行分支切换,修改的内容会从原来的分支移动到切换的分支
    如果上诉情况中,在相互切换的两个分支中有相同的文件也有修改,切换分支会失败
    因此,我们需要将修改的文件放入暂存区,然后使用干净的树

  • 修改的文件,查看树的状态
    在这里插入图片描述

  • 放入暂存区
    在这里插入图片描述

  • 树清理干净,可以使用或者切换分支
    在这里插入图片描述

  • 如果需要将暂存的修改文件取出,使用命令
    在这里插入图片描述

  • 如果不需要暂存的文件,使用命令删除
    在这里插入图片描述

并行处理分支

  • 创建两个分支,并切换到其中一个分支中
    在这里插入图片描述

  • 查看日志,他们都处于同意历史记录中
    在这里插入图片描述

  • 修改文件并添加索引,加载到本地数据库中
    再次查看日志,切换的分支历史记录向前,其他历史记录
    在这里插入图片描述

  • 分支树状态

->(Master, issue3)->issue2<-HEAD

切换到另一个分支中,修改文件并添加索引,加载到本地数据库中
再次查看日志,切换的分支历史记录向前,其他历史记录
在这里插入图片描述

  • 分支树状态

->Master->issue3<-HEAD
->Master->issue2<-HEAD

解决与合并冲突

第一种方法:在主分支下,将记录提前的分支合并到主分支

切换到Master分支,在该分支上将issue2合并到Master分支
在这里插入图片描述

  • 将issue3合并到Master分支,合并失败
    在这里插入图片描述

  • 没有issue3分支的记录
    在这里插入图片描述

  • 显示冲突的内容
    在这里插入图片描述

  • 修改文件冲突部分,重新提交到本地数据库
    查看日志
    在这里插入图片描述

使用另一种方式进行合并,在记录提前的分支下,将记录提前的分支合并到主分支

将操作后退一步,即取消刚刚的issue3的合并

在这里插入图片描述
在这里插入图片描述

  • 切换分支到issue3
    使用rebase进行合并,产生冲突,进行手动修改冲突文件
    在这里插入图片描述

  • 建立索引,重新 rebase
    在这里插入图片描述

  • Vim编辑状态,直接使用命令 esc+”:wq”
    在这里插入图片描述

  • 切换到主分支,合并分支
    在这里插入图片描述

  • 上诉合并作用在修改bug时,起到对分支进行操作
    创建两个分支“x“,”o”,在”x“分支下修改bug,创建索引提交数据库,然后就可以合并分支

模拟master分支发布版本,develop分支开发并分离出不同的功能的分支

  • 创建并切换到develop分支,在该分支创建两个功能开发分支
    在这里插入图片描述

  • 分别进入fa和fb分支,修改文件创建索引并提交数据库
    切换到develop分支,合并并解决冲突,然后创建索引并提交数据库,merge
    在这里插入图片描述

  • 分别切换到fa和fb分支,同步合并,rebase
    在这里插入图片描述

  • 如果需要修改bug,可以在develop分支下创建并切换新的分支,修改文件并提交到数据库后,到主分支将该分支合并,到develop分支将该分支合并
    在这里插入图片描述

对远程数据库数据进行操作

Pull、fetch、merge的区别

  • 两个人上传文件发生冲突时,用pull将文件拉下来,修改后传回远程数据库
    在这里插入图片描述

  • 用fetch命令将远程数据库放入一个空的分支里,
    在这里插入图片描述

  • 记录不会出现该分支
    在这里插入图片描述

  • 用merge合并远程数据库
    在这里插入图片描述

将分支发布到远程数据库,从远程数据库拉取分支

  • 切换到需要发送的分支
    在这里插入图片描述

  • 将分支推送到远程仓库地址origin 并且命名未develop分支
    在这里插入图片描述

  • 拉取前用git fetch命令更新本地记录的远程数据库分支的记录

在这里插入图片描述

  • 创建并跳转分支
    在这里插入图片描述

git查看分支状态时,出现中文编码问题

在这里插入图片描述

  • 设置编码格式

在这里插入图片描述
在这里插入图片描述

git的历史记录标签

  • 本地修改并上传本地数据库
    在这里插入图片描述

  • 添加标签说明

在这里插入图片描述

  • 查看本次历史记录的信息
    在这里插入图片描述

  • 添加注解标签
    在这里插入图片描述

  • 查看历史日志记录
    在这里插入图片描述

  • 查看注解,未添加注解的自动用提交说明补上来
    在这里插入图片描述

  • 删除标签
    在这里插入图片描述
    在这里插入图片描述

  • 本地修改并上传本地数据库
    在这里插入图片描述

  • 标签一起添加说明和标签名
    在这里插入图片描述

  • 在标签v1.0的基础上建立标签v1.2
    在这里插入图片描述
    在这里插入图片描述

修改历史记录,取消过去的提交

  • 原始记录
    在这里插入图片描述

  • 添加索引后,提交本地数据库指定修改当前历史记录

在这里插入图片描述

  • 命令revert,rebase -i,reset可以删除提交内容。但是后两者是删除提交内容,不能删除已发布的提交,而revert是生成一个新的以前的提交内容
    原始记录
    在这里插入图片描述

  • HEAD当前最新的一次提交,相当于commit的id
    在这里插入图片描述

  • 编辑说明,然后esc + :+ wq 保存退出,然后便可以看见文件为该历史记录之前的状态
    在这里插入图片描述
    在这里插入图片描述

  • 用reset删除分支,HEAD为当前记录,两个~为跳转到两次历史记录之前,此处可用commit的id号直接跳转
    在这里插入图片描述
    在这里插入图片描述

  • 返回删除的分支
    在这里插入图片描述

  • 将其他分支的提交移到正确的分支提交
    在主分支将别的分支的commit Id拉到当前分支提交
    在这里插入图片描述

  • 解决冲突后,提交

  • 用rebase -i汇合提交,改写提交的历史记录
    原始记录
    在这里插入图片描述

  • 汇合两次的提交
    在这里插入图片描述

  • 修改文件
    在这里插入图片描述
    在这里插入图片描述

  • 修改说明
    在这里插入图片描述

  • 合并成功
    在这里插入图片描述

使用ssl协议操作远程数据库

  • 命令行cmd下或者git下使用命令
    在这里插入图片描述

  • 在C盘用户文件夹下生成一个.ssh文件夹
    在这里插入图片描述

  • 记事本打开第二个公钥,复制内容
    在码云gitee下的设置内的ssh公钥内粘贴
    在这里插入图片描述
    在这里插入图片描述

  • 确定,输入密码后添加成功

  • 码云gitee创建一个仓库ssh获取ssh的地址

在这里插入图片描述

  • 本地创建一个名为ssh的git文件夹并初始为git仓库
    在这里插入图片描述

  • 关联远程仓库
    在这里插入图片描述

  • 创建文件提交

在这里插入图片描述

  • 提交远程数据库
    在这里插入图片描述
  • 确认信息
    在这里插入图片描述

修改https为ssh

方法一、直接修改配置文件

在这里插入图片描述
在这里插入图片描述

方法二、用命令修改

在这里插入图片描述

方法三、先删后加

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Json_Zeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值