美文网首页
Git(1)

Git(1)

作者: BowonQin5 | 来源:发表于2020-11-15 13:42 被阅读0次

1 版本控制

  • 协同修改
  • 数据备份
  • 权限控制
  • 历史记录
  • 分支管理
    与Linux命令兼容

2 git结构

  • 本地库:历史版本
  • 暂存区:临时存储(git commit -----> 本地库)
  • 工作区:写代码的区域(git add ----->暂存区)

3 git和代码托管中心

  • 局域网:GitLab服务器
  • 外网环境下:Github和码云
  • 本地库和远程库 :
    本地库 ----->>>>远程库 (push)
    远程库 ----->>>>本地库 (clone)

4 git命令行操作

4.1 本地库初始化操作

95614@DESKTOP-OJ77LQG MINGW64 /d/workspaces/WeChat
$ git init
Initialized empty Git repository in D:/workspaces/WeChat/.git/
image.png

注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱地修改。
.git是隐藏的资源

4.2 设置签名

    • 作用:区分不同开发人员的身份
    • 辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系
    • 命令:
      项目级别/仓库级别:仅在当前本地库范围内生效
      系统用户级别:登录当前操作系统的用户范围
      优先级:就近原则:项目级别>系统用户级别,二者都有时采用项目级别的签名。

项目级别:

git config user.name tom_pro
git config user.email goodMorning@qq.com
image.png

系统用户级别:

git config -- global user.name tom_pro
git config -- global user.email goodMorning@qq.com
image.png

4.3 基本操作

4.3.1 状态查看: git status

查看工作区、暂存区的状态

4.3.2 添加操作: git add[file name]

将工作区的新建和修改添加到暂存区

4.3.3 提交操作: git commit -m "message"[file name]

将暂存区的内容提交到本地库


image.png

Tips:
用户刚刚启动vi/vim,便进入了命令模式。

在此状态下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当做了

一个命令。

一下是常用的几个命令:

1、i切换到输入模式,以输入字符。

2、x删除当前光标所在处的字符。

3、:切换到底线命令模式,以在最底一行输入命令。

4.3.4 查看历史记录

  • git log


    image.png

    多屏显示控制方式:
    空格向下翻页
    b 向上翻页
    q 退出

  • git log --pretty=oneline


    image.png
  • git log --oneline


    image.png
  • git reflog


    image.png

HEAD@{移动到当前版本需要多少步}

4.3.5 前进后退

image.png
  • 基于索引值操作[推荐]
    git reset --hard [局部索引值]


    image.png
  • 使用^符号
    只能后退
    git reset --hard HEAD^
    注:一个^表示后退一步,n个表示后退n步
  • 使用~符号
    只能后退
    git reset --hard HEAD ~n
    注:一个^表示后退n步

4.3.6 reset命令的三个参数对比

  • soft参数
    仅仅在本地库移动HEAD指针
  • mixed参数
    在本地库移动HEAD指针
    重置暂存区
  • hard参数
    在本地库移动HEAD指针
    重置暂存区
    重置工作区

4.3.7 删除文件并找回

前提:删除前文件存在时的状态提交到本地库。
操作:git reset --hard[指针位置]
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD

4.3.8 比较文件差异

  • git diff [文件名]
    将工作区中的文件与暂存区进行比价
  • git diff [本地库中历史版本][文件名]
    将工作区中的文件和本地库历史记录比较

4.4 分支管理

4.4.1 什么是分支?

版本控制中,多条线同时推进

4.4.2 分支的好处?

同时并行推荐多个功能,提交开发效率,互补干扰

4.4.3 分支的操作

  • 创建分支:git branch[分支名]
  • 查看分支:git branch -v
  • 切换分支:git checkout[分支名]
  • 合并分支
    第一步:切换到接受修改的分支上(被合并,增加新内容)上
    git checkout [被合并分支名]
    第二步:执行merge命令
    git merge [有新内容分支名]
  • 解决冲突
    冲突的表现


    image.png
apple
apple
apple
1111
//当前分支的内容
<<<<<<< HEAD
app@@@@@@@@@@@@@@@@le edit by hot_fix
=======

//令一分支的内容
app@@@@@@@@@@@@@@@@le edit by master
>>>>>>> master
apple
apple

冲突的解决
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add[文件名]
第四步:git commit -m "日志信息" 需注意:此时commit一定不能带具体的文件名

相关文章

网友评论

      本文标题:Git(1)

      本文链接:https://www.haomeiwen.com/subject/kedwbktx.html