二十二、git指令

161 阅读6分钟

1. 什么是git

  • git:开源的分布式版本控制系统
  • git官网

2. linux指令

  • mkdir test ---> 创建文件夹test
  • cd test ---> 进入文件夹test
  • ls ---> 列出当前文件夹下所有的文件
  • touch index.html ---> 创建文件index.html
  • rm index.html ---> 删除文件index.html(无法删除文件夹)
  • rm -rf test ---> 删除文件夹test
  • mv 重命名/移动文件(文件个数不增加)
    • mv index.html home.html 文件-->文件【重命名】
    • mv index.html test 文件-->文件夹【移动文件】
  • cp -参数 源文件 目标文件 ---> 拷贝文件/文件夹(文件个数增加)
    • 【参数(可写可不写)】
    • -r 拷贝文件夹必须添加该参数
    • -p 保持原文件的权限和属性不变
    • -a 等价于-r + -p。既保持权限不变,还可以拷贝文件夹
  • cat index.html 查看文件内容
  • vi index.html 编辑文件内容 。进入后按任意键进入insert模式(编辑)。编辑完成退出:ESC键 --> shift+: --> wq或者wq! --> enter键

3. git指令

  • git init ---> 初始化本地仓库

  • git config --global user.name '英文名' ---> 配置当前操作员的用户名(只要配置一次,以后不用配置)

  • git config --global user.emil '邮箱' ---> 配置当前操作员的邮箱(只要配置一次,以后不用配置)

  • git config --global -e ---> 修改用户名和邮箱

  • git config --global --list ---> 列出全局配置

  • git config --list ---> 列出所有配置

  • git add . ---> 将代码添加到暂存区

  • git commit -m '本次做的操作' ---> 把暂存区的代码提交到本地仓库

  • git log ---> 查看日志

  • git log --oneline ---> 日志简单版(每个版本只显示一行信息)

  • git reset --hard head^ ---> 回滚到上1个版本

  • git reset --hard head^^ ---> 回滚到上2个版本

  • git reset --hard 版本号 ---> 到指定的版本

  • git branch ---> 查看分支

    • 【参数】
    • -a 查看所有分支
    • -r 查看下载下来的远程分支(pull)
    • -l 只看本地分支
  • git branch dev ---> 创建dev分支

  • git checkout dev ---> 切换到dev分支

  • git merge dev ---> 合并当前分支和dev分支

  • git remote add origin ssh地址 ---> 与远程仓库进行关联(origin是自己定义的远程仓库的别名)

  • git remote add origin1 ssh地址 ---> 可以关联多个远程仓库地址

  • git remote remove origin ---> 删除远程仓库地址

  • git push origin master ---> 把本地当前分支提交到远程仓库master分支

    • 如果远程仓库有初始化本地仓库,第一次提交master需要加 --force强制提交
    • 如果远程仓库没有初始化的本地仓库,直接提交即可
  • git pull origin ---> 拉取远程仓库所有的分支

  • git pull origin master ---> 拉取远程仓库指定的master分支

  • git clone 远程仓库ssh地址/https地址 ---> 克隆代码

  • git clone 远程仓库ssh地址/https地址 新的别名 ---> 克隆代码+修改文件名

  • .gitignore 在该文件中编写的内容提交时会被忽略

  • 【本地仓库初始化】 QQ图片20230514192547.png

4. git指令应用:创建一个文件夹test的步骤

1. 创建文件夹
  • mkdir test
2. 进入test文件夹
  • cd test
3. 初始化git
  • git init
4. 创建文件夹js,css。文件index.html,index.js,index.css

mkdir js css touch index.html

5. 查看状态
  • git status
6. 配置当前操作员的名称和邮箱(只要配置一次,以后不用配置)
  • git config --global user.name '英文名'
  • git config --global user.email '邮箱'
7. 查看是否配置成功
  • git config --list
8. 如果配置错误需要修改
  • git config --global -e //edit是编辑的意思
9. 编辑完成退出编辑
  • 按ESC键 --> shift+: --> 输入wq 或者输入wq! --> 按enter键
10. 将项目的内容提交到暂存区
  • git add .
11. 将暂存区的代码提交到本地仓库
  • git commit -m '本地做了哪些操作'
12. 直到显示如下指令代表完成
  • On branch main
  • nothing to commit ,working tree clean

5. git指令应用:git第一次提交代码到远程仓库(gitee)

有2种方式:① 创建远程仓库(带/不带初始化仓库)+本地仓库初始化;② 创建远程仓库(带初始化仓库)

5.1 创建远程仓库(带/不带初始化仓库)+本地仓库初始化

5.1.1 创建远程仓库
  • 远程仓库(不带初始化仓库) QQ图片20230514162726.png
  • 远程仓库(带初始化仓库) QQ图片20230514162702.png
5.1.2 本地仓库初始化
首次操作还要配置当前操作员的名称和邮箱(只要配置一次,以后不用配置)
git config --global user.name '英文名'
git config --global user.email '邮箱'
  • cd '文件夹名'
  • git init
  • git add .
  • git commit -m '本次做了哪些操作'

QQ图片20230514171134.png

5.1.3 与远程仓库进行关联

git remote add origin ssh地址

  • 获取ssh地址 QQ图片20230514171729.png
5.1.4 配置ssh公钥(主要是为了远程仓库的文件更加安全)
  • 找到配置ssh公钥的入口 QQ图片20230514174230.png

  • 生成ssh公钥的官方文档 QQ图片20230514174240.png

  • 实操生成ssh公钥 QQ图片20230514175044.png

  • 配置ssh公钥 QQ图片20230514175200.png

  • 账号验证 QQ图片20230514175208.png

  • 添加公钥成功后输入指令: ssh -T git@gitee.com

5.1.5 将本地仓库代码提交到远程仓库
  • 情况1:远程仓库(不带初始化仓库)

    • git push origin master
  • 情况2:远程仓库(带初始化仓库)

    • git push origin master --force(第一次要强制提交)
  • 实操提交到远程仓库 QQ图片20230514180808.png

  • 查看远程仓库是否提交成功 QQ图片20230514181122.png

5.2 创建远程仓库(带初始化仓库)

5.2.1 创建带初始化仓库的远程仓库

QQ图片20230514162702.png

5.2.2 将该远程仓库改为开源

QQ图片20230514183346.png

5.2.3 通过clone将远程仓库的初始化仓库作为本地仓库

git clone ssh地址/https地址 新项目名称 “新项目名称”可写可不写

  • 实操clone创建新项目 QQ图片20230514183640.png

6. git指令应用:git第N次提交代码到远程仓库(gitee)

6.1 远程仓库/本地仓库做一些数据处理并保存

6.2 查看本地仓库状态

git status

6.3 拉取远程仓库分支

git pull origin master

QQ图片20230514191435.png

6.4 合并代码,处理冲突

QQ图片20230514191447.png

6.5 提交本地仓库代码到远程仓库

git push origin master 这里的master是远程仓库的master分支

QQ图片20230514191455.png

  • 查看是否提交成功 QQ图片20230514191502.png

7. git拉取远程分支合并

本次以yr分支为例

7.1 创建一个空文件夹并初始化git仓库

git init

7.2 与远程仓库建立连接

git remote add origin 远程仓库SSH地址

7.3 拉取远程仓库所有分支

git fetch

7.4 在本地新建一个与远程仓库版本相同的yr分支(被合并的分支)

git checkout -b yr origin/yr

7.5 返回到master版本

git checkout master

7.6 把本地的yr合并到master

git merge yr

  • 如果提示合并失败,后面加上 --allow-unrelated-histories 进行允许合并,即可解决问题

7.7 把本地的master同步到远程仓库

  • 解决合并冲突
  • git add .
  • git commit -m '本次做的操作'
  • git status 确认状态正常
  • npm run dev 确认程序正常运行
  • git push origin master