• 【星海随笔】git的使用


    1.在终端,检查git是否安装
    git --version
    2.没有安装的话去,官网,下载git
    3.一直点下一步即可
    4.安装后在终端检查git是否安装好
    5.设置用户名和邮件地址(最好和GitHub的用户名/邮箱保持一致)
    git config --global user.name “自己的用户名”
    git config --global user.email “自己的邮箱”
    #检查是否配置成功
    git config --global --list

    git init
    
    • 1
    git add . 添加所有项目至缓存区
    git add 目录名:添加指定目录到缓存区
    git add 文件名:添加指定文件到缓存区
    
    • 1
    • 2
    • 3
    git commit -m ‘first commit’  
    # 提交至本地仓库
    
    • 1
    • 2
    # 推送本地仓库信息至远程仓库
    git push origin master:将本地分支的更新内容,全部推送至远程仓库 master 分支
    git push origin dev:将本地 dev 分支推送到远程,再由一个人统一加到 master 分支上
    
    • 1
    • 2
    • 3
    拉取远程仓库最新文件
    git pull:拉取远程仓库所有分支合并到本地
    git pull origin master:拉取远程master分支,合并到当前本地master分支
    git fetch:仅做拉取操作,不做合并,合并需要自己再找其他方法
    
    • 1
    • 2
    • 3
    • 4
    git remote add origin git@github.com:帐号名/仓库名.git
    git pull origin master
    git push origin master # -f 强推
    git clone git@github.com:git帐号名/仓库名.git
    
    • 1
    • 2
    • 3
    • 4

    多用户协作

    1.创建分支

    git branch 分支名
    git branch dev
    
    • 1
    • 2

    2.查看分支

    git branch
    
    • 1

    3.创建test分支

    git branch test
    git brach
    
    • 1
    • 2

    4.切换分支
    注意:切换前提:保证当前分支工作区clean状态

    git checkout dev
    git branch
    
    • 1
    • 2

    5.删除分支

    git branch -d test
    
    • 1

    6.创建并切换到新分支

    git checkout -b test
    
    • 1

    7.测试

    7.1在test分支,commit一段代码
      git add .
      git commit -m “”
    7.2切换到dev分支
      git checkout dev
      #删除test分支,是否报错,如果需要强制删除,git branch -D test
      git branch -d test
    7.3如果需要强制删除
      git branch -D test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    1.在dev分支,开发
    2.切换到master分支

      git checkout master
      git branch 
      #查看分支状态
    
    • 1
    • 2
    • 3

    3.将dev分支的代码合并到master分支,dev分支不变,master分支代码会被覆盖,结果使用dev分支的代码

    git merge dev
    
    • 1

    1.在master分支,修改test.html 并提交
    2.切换到dev分支,修改同一个文件的相同位置的内容 并提交
    3.切换到master分支,将dev分支合并到master,#发生错误.#

    git merge dev
    
    • 1

    解决方式一:撤销合并:直接使用master分支代码,舍弃忽略其他分支代码
       #放弃忽略合并
         git merge --abort
    在这里插入图片描述
        
    解决方式二:和冲突分支的开发人员协商,确定最终保留代码,手动删除冲突
    和冲突分支的开发人员协商,确定最终保留代码,手动删除冲突
    重新提交
    查看当前分支状态,并提交
       git status
       git add .
       //这里不需要描述 -m,接下来会进入一个可编辑的页面:这里输入描述
       git commit

    在这里插入图片描述

    当文件已经被add了,处于暂存区,撤销追踪操作

    1.查看当前文件状态

      git status
    
    • 1

    2.撤销追踪操作

      git reset HEAD 文件名
      git reset HEAD test3.html
      本次add的文件撤销到工作区
      git reset HEAD *
    
    • 1
    • 2
    • 3
    • 4

    3.一键还原到上次提交状态

    git checkout – test3.html
    
    • 1

    想要回到上一版本或者指定版本时如何进行操作

    1.在根目录下,创建version.html 和 v.html两个文件,添加内容(h1 版本1 /h1)视为”版本1“,并提交

    git add .
    git commit -m “版本1”
    git status
    git log --pretty=oneline
    
    • 1
    • 2
    • 3
    • 4

    2.将内容改为“版本2”,追踪并提交

    git commit -am “版本2”
    git status
    git log --pretty=oneline
    
    • 1
    • 2
    • 3

    执行git commit -am "提交描述"即可将add和commit操作合并, 不需要先git add file 再 git commit -m “提交描述” 了

    3.按照第二步骤,继续提交版本3,版本4,版本5
      不要忘记修改h1标签里的内容

    4.查看所有历史记录

    git log --pretty=oneline
    
    • 1

    5.回到上一版本,已经提交,没有push

    #git reset --soft 上一个commitID 撤销commit
    git reset --soft 版本4的commitID # 撤销版本5的commit
    
    • 1
    • 2
    #git reset --mixed 上一个commitID 两个动作
    git reset --mixed 版本4的commitID 撤销版本5的commit和add两个动作
    
    • 1
    • 2

    #撤销并舍弃版本号之后的所有提交记录,使用需要谨慎!!!
    #撤销后,工作区是版本4的代码,版本5丢失了,谨慎使用!!
      git reset --hard HEAD^
    #回到上两个版本
      git reset --hard HEAD^^
    #回到上三个版本
      git reset --hard HEAD~3
    #方式二:通过commit id的前7位,回到指定版本(往前/往后都可以)
      git reset --hard 473233

    git log --oneline --graph --all 查看所有分支的版本路线图
    
    • 1
  • 相关阅读:
    通过mybatis自定义参数类型转换器,进行数据库字段加密脱敏
    前端架构选择
    LeetCode - #62 不同路径(Top 100)
    Eureka Series : MSVC puTTY + psFTP Dev
    Tomcat一机多实例部署
    Ceph分布式集群安装配置
    TCP的三次握手、四次挥手!就像打电话一样简单!
    HALCON-从入门到入门-阈值分割定位算子综合运用
    可解释人工智能(XAI)
    快速掌握MyBatis
  • 原文地址:https://blog.csdn.net/weixin_41997073/article/details/134300738