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用来记录你的每一次命令
相关推荐
2501_924889555 小时前
商超高峰客流统计误差↓75%!陌讯多模态融合算法在智慧零售的实战解析
大数据·人工智能·算法·计算机视觉·零售
jingfeng5145 小时前
C++模板进阶
java·c++·算法
锐策6 小时前
Git checkout 与 Git reset 核心区别解析(分支与版本关联逻辑)
运维·git
hahaha60166 小时前
pcie实现虚拟串口
stm32·单片机·fpga开发
地平线开发者6 小时前
征程 6X | 常用工具介绍
算法·自动驾驶
地平线开发者6 小时前
理想汽车智驾方案介绍 2|MindVLA 方案详解
算法·自动驾驶
艾莉丝努力练剑7 小时前
【C语言16天强化训练】从基础入门到进阶:Day 7
java·c语言·学习·算法
.Shu.7 小时前
git实战(7)git常用命令速查表
大数据·git
地平线开发者7 小时前
LLM 中评价指标与训练概要介绍
算法·自动驾驶
Ghost-Face7 小时前
关于并查集
算法