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用来记录你的每一次命令
相关推荐
代码充电宝14 小时前
LeetCode 算法题【简单】283. 移动零
java·算法·leetcode·职场和发展
不枯石16 小时前
Matlab通过GUI实现点云的均值滤波(附最简版)
开发语言·图像处理·算法·计算机视觉·matlab·均值算法
不枯石17 小时前
Matlab通过GUI实现点云的双边(Bilateral)滤波(附最简版)
开发语言·图像处理·算法·计算机视觉·matlab
充哥单片机设计17 小时前
【STM32项目开源】基于STM32的智能路灯控制系统
stm32·单片机·嵌入式硬件
白水先森18 小时前
C语言作用域与数组详解
java·数据结构·算法
想唱rap19 小时前
直接选择排序、堆排序、冒泡排序
c语言·数据结构·笔记·算法·新浪微博
啃硬骨头20 小时前
MC33PT2000控制详解七:软件代码设计1-图形化设置
单片机·嵌入式硬件
老葱头蒸鸡20 小时前
(27)APS.NET Core8.0 堆栈原理通俗理解
算法
视睿20 小时前
【C++练习】06.输出100以内的所有素数
开发语言·c++·算法·机器人·无人机
柠檬071121 小时前
matlab cell 数据转换及记录
算法