2.git操作

1.git的基本使用

在git官网中安装软件包 安装不需要有任何操作,点击next即可,在最后时候取消最后的勾选

​ clear 清空展示内容相当于cls

git常用命令

1.安装完成必须配置用户信息 --global全局配置

git config --global user.name 用户名  用户名随便起
git config --global user.email 邮箱
#查看所有的全局配置项命令
git config --list --global
#查看指定的全局配置项
git config user.name  只查看用户名
git config user.email 只查看邮箱

2.获取帮助信息 git help 就是查看命令的用法

#在浏览器查看关于config用法
git help config

#在终端查看config的用法
git config -h

3.获取git仓库的方式

git clone 地址.git     克隆别人的代码

4.将文件目录创建为git仓库

git init

5.git的三个状态

未修改(unmodified)  就是没有任何修改 工作区中文件的内容和git创库中文件的内容保持一致

已修改(modified) 工作区文件的内容和git仓库中文件的内容不一致   就是工作区文件内容修改

已暂存(staged) 工作区中被修改文件放到暂存区,准备将修改后的文件保存到git仓库中

6.git工作区中文件的4中状态

未跟踪(untracked)文件没有被git所管理 

# 文件被git所管理 
   未修改(unmodified)  

   已修改(modified) 

   已暂存(staged) 

7.检查文件的状态 有没有被git所管理

git status 

8.检查文件的状态 报告内容繁琐 使用下面命令内容简单

git status -s
git status --short     --short简写s 

报告内容红色双问号 表示文件未跟踪没有被git管理
报告内容绿色大写A 表示新文件放到暂存区交给git管理了

将git管理文件里面内容修改,git status报告内容红色modified表示内容修改了,使用git add . 表示将修改内容添加到暂存区,git status报告内容绿色modified表示修改内容添加到暂存区

9.跟踪文件(就是将未跟踪文件也就是新创建文件放到暂存区) 就是把文件交给git管理

#将所有文件放到暂存区  将未跟踪的文件放到暂存区交给git管理
git add .
#将单个文件放到暂存区  将单个文件(新建文件)放到暂存区交给git管理
git add 文件名

10.提交到本地仓库

git commit -m '日志信息' 提交内容比如提交了什么代码什么功能
  1. 将暂存好的文件 里面内容进行修改 git add 三个作用

    # 跟踪文件 将新的文件放到暂存区 把文件交给git管理
    
    # 将git管理文件里面内容进行修改 使用git add 放到暂存区
    
    # 将有冲突的文件标记为已解决状态
    

    12.把暂存区文件移出来 就是通过git add 命令放到暂存区文件 使用下面命令将单个文件/多个文件移出来 变成未跟踪没有被git管理

    git reset HEAD 文件名
    
    # 将所有暂存区文件移出来 变成未跟踪没有被git管理
    git reset HEAD .
    
    
    注意: 只要文件提交到本地仓库不会被移出来
    

    13.跳过暂存区 直接跳过git add

    git commit -a -m '日志信息'
    

    14.删除文件

    • 从git仓库和工作区中同时删除对应文件

      git rm -f 文件名
      
    • 只删除git仓库指定文件,保留工作区文件

      git rm --cached 文件名
      

      15.忽略文件

      取文件名为.gitignore文件 里面放一些文件 这些文件就是不用放到git管理的文件

      # 以#开头的是注释
      # 以 /结尾的是目录
      # 以 /开头防止递归
      # 以 !开头表示取反
      可以使用glob模式进行文件和文件夹的匹配(就是简化了正则表达式)
      

      glob

      * 匹配零个或多个任意字符
      [abc] 匹配任何一个列在方括号中的字符
      ? 只匹配一个任意字符
      在方括号中使用短横线分隔两个字符 表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示所有0到9的数字)
      两个 ** 表匹配任意中间目录(比如a/**/z可以匹配a/z、a/b/z)
      
      1. 查看提交历史记录
      q 退出历史记录
      #按时间先后顺序查看所有提交历史记录
      git log
      #只展示最新两条历史记录  
      git log -2   数字可以随意写 写多少有多少提交记录
      # 在一行上展示最近两条提交历史记录
      git log -2 --pretty=oneline
      #在一行上展示最近两条提交历史记录 并自定义输出格式
      # %h提交简写哈希值 %an作者名字 %ar作者修订日期,按多久以前的方式显示 %s提交说明
      git log -2 --pretty=format:"%h | %an |%ar |%s"
      

    18.GitHub仓库的两种访问方式

    https :零配置; 每次访问仓库时,需要重复输入GitHub账号和密码才能访问成功

    ssh:需要进行额外的配置 但是配置成功后,每次访问仓库时 不需要重复输入GitHub账号和密码 实际开发中使用ssh方式访问远程仓库

    19.生成SSH key

    作用 实现本地仓库 和 GitHub之间免登录的加密数据传输

    好处 免登录身份认证 数据加密传输

    SSH key 由两部分组成

    • id_rsa(私钥文件,存放于客户端的电脑中即可)

    • id_rsa.pub(公钥文件,需要配置到GitHub中)

      在终端输入这样命令 ssh-keygen -t rsa -b 4096 -C “自己的邮箱” 在C盘user下面用户文件有.ssh目录 我们使用id_rsa.pub 里面公钥配置到GitHub/gitee中

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fBeTYDBk-1671003600594)(D:\typora笔记\Git\git资料图片\GitHub配置sshkey.jpg)]

# 检测GitHub的ssh key 是否配置成功
ssh -T git@github.com

2.分支

  1. master :主分支 作用:用来保存和记录整个项目已完成的功能代码

    注意 :企业项目开发中,不允许在master主分支修改代码,会导致整个项目崩溃

  2. 功能分支: 就是开发新功能需要创建一个分支

  3. 查看分支列表

    git branch
    
  4. 创建新分支

    git branch 分支名称
    
  5. 切换分支

    git checkout 分支名称
    
  6. 创建分支并切换

    git checkout -b 分支名称
    
    创建分支基于当前分支创建分支代码是一样的
    
  7. 合并分支

    git checkout devloop  切换开发分支
    
    # 将login分支代码合并到devloop开发分支
    git merge login 
    
  8. 删除本地分支

    git branch -d 分支名
    
    注意: 删除分支不能处于当前删除分支上
    
    9.分支合并产生冲突

    两个不同分支, 对同一个文件进行了不同修改,git没法合并它们

    企业中 两个开发人员 文件名一致 合并就会造成冲突 就是两个文件名一样 就是对同一个文件进行了不同修改 导致冲突

    造成冲突 文件里面就是这样结构

    <<<<<<<<< HEAD (主分支)
    
    =========
    
    >>>>>>>>> login (开发分支)
    
    自己制造冲突
    1.在master分支上创建一个分支并切换
        git checkout -b login
    2.修改某个文件1.html
         git add .
         git commit -m '日志信息'
    3.切换主分支
       git checkout master
    4. 在主分支上修改某个文件1.html
        git add .
        git commit -m '日志信息'
        git merge login 合并分支 将分支login合并主分支
     然后就会出现报错 
     打开冲突文件 里面这样结构
     
    采用当前更改 | 采用传入更改 | 保留双方更改 | 比较更改 
     <<<<<<<< HEAD (当前更改 主分支更改)
     
     ========
     
     >>>>>>>> login (传入更改 分支更改)
    
    如何解决
    采用当前更改(只保留主分支更改,分支更改删除) | 采用传入更改(只保留分支更改,主分支更改删除) | 保留双方更改(主分支和分支都保留) | 比较更改  注意:vscode都是英文 但是顺序一样
    # 一般我们只保留主分支更改
     <<<<<<<< HEAD (当前更改 主分支更改)
     
     ========
     
     >>>>>>>> login (传入更改 分支更改)
     
     1. 打开冲突文件,进行手动更改只保留主分支更改
     2. 更改完成之后 git add .
     git commit -m '日志信息'
    
    10.将本地创建的分支推送到远程仓库

    ​ 第一次推送本地分支到远程仓库

    git push -u origin login
    origin 远程仓库的别名
    login 本地分支的名称
    
    注意 第一次推送分支需要带-u参数 此后可以直接使用git push推送代码到远程分支
    

    11.查看远程分支列表

    git remote show origin
    

    12.跟踪分支: 本地分支删除了 从远程仓库分支下载到本地仓库中 简单理解就是 本地没有这个分支 远程仓库有这个分支 直接将远程仓库分支下载到本地

    git checkout 远程仓库分支名
    
    可以使用git branch -d 分支名称 删除分支名称
    使用 git checkout 远程仓库分支下载到本地
    

    13.拉取远程分支代码

    git pull 仓库   仓库就是拉取哪个仓库代码
    

    14.删除远程分支 了解 一般不会删除远程仓库分支

    # 删除远程仓库指定远程分支
    git push origin --delete 远程分支名称
    git push origin --delete login
    

这个分支 远程仓库有这个分支 直接将远程仓库分支下载到本地

git checkout 远程仓库分支名

可以使用git branch -d 分支名称 删除分支名称
使用 git checkout 远程仓库分支下载到本地

13.拉取远程分支代码

git pull 仓库   仓库就是拉取哪个仓库代码

14.删除远程分支 了解 一般不会删除远程仓库分支

# 删除远程仓库指定远程分支
git push origin --delete 远程分支名称
git push origin --delete login
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值