美文网首页
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