Git使用

文章目录

新建仓库


本地仓库配置

  • 右键选git bash here
bash 复制代码
#初始化生成Git仓库,此操作会生成一个.git的文件夹,用于存放git的相关配置信息
git init
#将远程仓库链接到本地,而且仅仅是链接,不做任何下载上传操作
#<your_repository_url>是你的链接
git remote add origin <your_repository_url>
#从远程仓库的分支拉取<your_branch>是远程仓库的分支名称,般是master或者main
git pull origin <your_branch>
#使能大小写敏感选项,防止路径文件出现差错
git config core.ignorecase false

添加gitignore文件

  • 顾名思义,在git的时候会忽略掉里面包含的文件

  • 作用

    • 保护关键文件不被修改
    • 防止不必要的大文件占用仓库资源的作用
      • 开发环境记录文件
      • 编译中间生成文件
      • 本地日志文件
  • 是个纯文本文件

    • 以换行回车分割不同的条目,每条是文件或者文件夹的路径
    • 路径的详细说明
      以/开头则gitignore文件所在
      目录下的文件夹适配该条规则,否
      则gitignore文件所在目录以及
      其子目录均适配
    • 以/结尾表示适配该条规则的为文件夹,否则为文件
    • *是任意字符通配符
    • ?是一个字符通配符
    • **是任意文件夹路径通配符
  • 如果不想忽略某个被ignore的路径下的某文件,可在该文件前加!

  • 以#开头的是注释

  • .gitignore可以放置到工程中的任一

    路径,则规则对该路径的全部文件和文

    件夹起作用

  • 一般情况下,单片机嵌入式代码的模板如下

bash 复制代码
#所有的一般可执行文件
/**/*.exe
#KeilIDE编辑器忽略项
/**/MDK-ARM/*
#不忽略kei1工程配置文件
!/**/MDK-ARM/*.uVoptx
!/**/MDK-ARM/*.uVprojx
!/**/MDK-ARM/startup_*.s
#armgcc-cmake工程忽略项
/**/cmake-build-debug
#Vscode编辑器忽略项
/**/.vscode
/**/workspace.code-workspace
#clion编辑器忽略项
/**/.idea

管理



代码推送

  • 推送代码前记得同步远程的最新代码仓库即再次执行下面的命令
bash 复制代码
#从远程仓库的分支拉取
#<your_branch>是远程仓库的分支名称,一般是master或者main
git pull origin <your_branch>
bash 复制代码
#将自己编写的代码加入暂存区
git add .
#将暂存区的代码添加到本地仓库,并添加自己对该修改的注释
#<your_description>是你的描述,比如新增某某功能,或修复某某bug
git commit -m "<your_description>"
#向远程仓库的分支推送
#<your_branch>是远程仓库的分支名称,一般是master或者main
git push origin <your_branch>

若出现error: failed to push some refs to 'https://gitee.com/...

原因:我们本地的Git默认主分支的名称是master,但远程仓库的默认主分支名称为main,导致本地仓库与远程仓库的分支之间名称不同,进而代码推送出问题

解决方法:修改本地分支名,执行如下指令

bash 复制代码
#将本地分支master名称修改为main,或者反过来
git branch-m master main

vscode下使用git

  • 注意!!!写代码的文件夹要放在git所在文件夹同个文件夹,因为vscode的git只能识别当前文件夹和上一层文件夹,如果你在MDK-ARM中创建文件夹斜驱动代码等,修改后git是识别不了的


版本回退与撤销回退

  • git log查看历史记录
  • Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^ ,上上一个版本就是HEAD^^ ,当然往上100个版本写100个^ 比较容易数不过来,所以写成HEAD~100。
bash 复制代码
git reset --hard HEAD^
  • 撤销回退,需要知道某个版本的commit id,用git log可以得到
bash 复制代码
git reset --hard <对应的commit id>
  • 如果你把窗口关掉,就不能往上翻找到id,怎么办?Git提供了一个命令git reflog用来记录你的每一次命令
相关推荐
echo_pen16 分钟前
蓝桥杯----DA、AD
单片机·蓝桥杯
echo_pen16 分钟前
蓝桥杯----DS18B20温度传感器
单片机·蓝桥杯
杰克尼42 分钟前
11. 盛最多水的容器
算法·leetcode·职场和发展
程序员Xu3 小时前
【OD机试题解法笔记】查找接口成功率最优时间段
笔记·算法
jingjing~3 小时前
STM32 使用 RTC 实现实时时钟功能
stm32·嵌入式硬件·实时音视频
技术思考者3 小时前
Leetcode - 反转字符串
数据结构·算法·leetcode
SKYDROID云卓小助手4 小时前
无人设备遥控器之多设备协同技术篇
网络·人工智能·嵌入式硬件·算法·信号处理
一梦浮华5 小时前
自学嵌入式 day40 51单片机
单片机·嵌入式硬件·51单片机
熬了夜的程序员5 小时前
【华为机试】34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·华为od·华为·面试·golang
phltxy5 小时前
ArrayList与顺序表
java·算法