Gitee 基本使用记录 ...... 矜辰所致前言当下 Git 已经成为了版本控制的标准工具GitHub、GitCode 和 Gitee作为主流的 Git 托管平台已经是开发者日常工作中不可或缺的一部分。掌握 Git 操作以及这些平台的使用方法能极大地提高开发效率和代码管理能力。本文面向初学者专门用来记录一下 Gitee 的基本使用记录一些常用的操作。我是矜辰所致全网同名尽量用心写好每一系列文章不浮夸不将就认真对待学知识的我们矜辰所致金石为开目录前言一、 Git 安装与基本配置1.1 安装1.2 基本配置二、告初学者仓库 独立项目三、 和 Gitee 关联2.1 新建仓库2.2 HTTPS 还是 SSH2.3 关联仓库2.3 本地已有项目推到 Gitee2.4 从 Gitee 开始克隆到本地2.5 修改远程仓库地址四、后续日常三连五、查看历史与版本回退六、分支结语一、 Git 安装与基本配置1.1 安装首先我们需要先在本地安装 Git。Windows 安装访问Git官网https://git-scm.com/下载最新版本的Git安装程序按照安装流程我全部是默认选项没有修改等待安装完成。安装完成后打开终端输入git --version检查是否安装成功 。Linux安装Ubuntu/Debiansudoapt-getinstallgitCentOS/RHELsudoyuminstallgit1.2 基本配置第一次安装 Git 必须做的只有两件事设置用户名和邮箱。Git 的每一次提交都会记录 “谁在什么时候改了什么” 用户名和邮箱是就类似于自己设置一个签名告诉 Git 自己是谁这是本地的信息 名字和邮箱理论上可以任意设置。# 设置用户名提交记录里的作者名 git config--global user.nameYour Name# 设置邮箱 git config--global user.emailyour.emailexample.com当然除了必须的配置还有一些其他建议的配置要清除这些都是本地的配置还没有到关联 Git 仓库联网哪一步# 默认编辑器用 VS Code写提交信息时会用到gitconfig--globalcore.editorcode --wait# 换行符处理Windows 用户强烈建议设置gitconfig--globalcore.autocrlftrue# 查看所有配置gitconfig--list二、告初学者仓库 独立项目这一章是观念比命令重要。命令忘了可以查观念要是错了后面管理起来都是麻烦尤其对嵌入式工程师来说 。Git 可以理解为一套分布式版本管理系统远程仓库Gitee/GitHub和本地仓库是两份独立但互相关联的副本两者可以互相同步代码变更。嵌入式项目天然混杂很多东西软件源码、PCB、原理图、BOM、 datasheet 等很多刚接触 Git 的嵌入式工程师会习惯性沿用 Windows 文件管理思维建立一个文件夹再把这些东西放在一起然后希望用 Git 全部管理。这种想法就是有问题的Git 不是网盘Git 不是网盘Git 的最佳实践原则一个独立项目对应一个 Git 仓库。Git 仓库的边界要按独立项目来划分而不是按电脑文件夹的目录结构划分。哪怕你的项目比较小只要你想管理也是需要独立的仓库 因为软件版本管理都是以一个仓库为单位一个仓库对应一个项目是最合理的否则后期管理会相当复杂。初学者觉得分开管理要维护多个仓库、操作繁琐这是学习阶段的正常感受。但如果前期图省事把一堆独立工程全堆进同一个仓库等到项目迭代、发布版本、多人协作时版本混乱的代价会远远大于现在学习 Git 的成本。三、 和 Gitee 关联本章节讲解如何将本地工程与 Gitee 仓库关联 。2.1 新建仓库在 Gitee 选择新建仓库新建仓库界面如下建议仓库名称用英文使用 Readme 文件初始化仓库这样 Gitee 端自动完成第一次提交本地推送时不容易报错。Gitgee 新建仓库我们可以得到 仓库的地址比如上面地址就是https://gitee.com/qzh_projects/tools.git。后期的项目管理本地就是靠这个仓库地址和 Gitgee 端进行绑定的。这个地址很多地方都能看到以前的仓库点进去在下载的地方也能看见2.2 HTTPS 还是 SSH关于仓库地址有 HTTPS 和 SSHHTTPS最简单不用密钥文件用账号密码 / 个人访问令牌SSH需要生成 SSH 密钥免反复输密码长期开发推荐HTTPS本文演示使用此方式 SSH 方式后面使用到的时候再来更新用 https 拉 / 推仓库时Git 会验证你的 Gitee 身份 需要在 Gitee 端生成私人令牌令牌会在第一次 push/pull 的时候弹窗 / 命令行提示输入会在下文的关联章节演示步骤。生成私人令牌步骤:网页登录 Gitee → 个人主页 → 个人设置 → 安全设置 →私人令牌复制生成的令牌只显示一次保存好丢了只能重新生成:HTTPS 优缺点优点简单不用生成密钥网络环境限制少缺点仓库地址是 https 开头换电脑要重新生成令牌SSH本文暂时没有演示只做简单介绍长期开发推荐需要 SSH 密钥密钥只需要配置一次后续 push/pull 永久免密嵌入式常用。流程在 Git Bash 生成 SSH 密钥本地电脑执行复制公钥内容粘贴公钥到 Gitee 网页Gitee 网页 → 设置 → 安全设置 → SSH 公钥 → 添加公钥标题随便写内容粘贴上面复制的 pub 内容保存。测试连通性GitBash 执行ssh -T gitgitee.com输入 yes 确认出现欢迎文字代表成功SSH 仓库地址格式克隆仓库要用 SSH 地址不要 httpsgit clone gitgitee.com:你的名字/仓库名.git# 1. 本地生成密钥对一路回车ssh-keygen-ted25519-Cyour.emailexample.com# 2. 查看公钥内容全部复制cat~/.ssh/id_ed25519.pub# 3. 粘贴到 Gitee → 设置 → 安全设置 → SSH 公钥# 4. 测试连通看到 Welcome to Gitee 即成功ssh-Tgitgitee.comSSH 优缺点优点一次配置永久免密不用反复粘贴令牌多仓库管理舒服缺点如果网络严格限制 22 端口SSH 会连不上国内一般没问题HTTPSSSH地址长相https://gitee.com/用户名/仓库.gitgitgitee.com:用户名/仓库.git每次 push要输账号 令牌记住后免输什么都不用输配置成本零配置配一次永久生效适用场景偶尔用、公司网络封了 SSH 端口一般日常开发令牌/密钥Gitee网页生成的【个人访问令牌】属于 Gitee 这边的身份凭证在本地电脑Git Bash 里生成一对文件私钥本地保存相当于唯一钥匙 公钥相当于一把锁上传到 Gitee 2.3 关联仓库在新建了仓库之后 Gitee 都会弹出界面告诉你基本的使用方式如下图 这个图要解释一下Git 全局设置就是上文提到的本地基本配置。创建 git 仓库这里并不是指在本地创建网页端的仓库而是把本地 tools 文件夹这个工程和网页端创建好的仓库的地址绑定起来。①https://gitee.com/qzh_projects/tools.git是远程仓库的地址②mkdir创建的是本地文件夹项目图中示例是创建 tools 文件夹我们完全可以使用其他文件夹名称然后把这个新建的这个本地文件夹绑定到远程名为 tools 地址为https://gitee.com/qzh_projects/tools.git的仓库。③命令git remote add origin xxx 绑定地址不是创建远程仓库。我们按照上面方式在执行第一次 push 的时候需要输入上面生成的密钥HTTPS 方式gitpush-uorigin master# 其中账号就是浏览器地址栏 https://gitee.com/ 后面那串#比如 https://gitee.com/qzh_projects 账号就是 qzh_projectsUsername: qzh_projects Password: gitee_xxxxxxxxxxxx# 粘贴刚才的令牌查看当前关联的仓库2.3 本地已有项目推到 Gitee最常见的场景之一代码已经在电脑里写了很久现在想交给 Git 管理。在项目根目录依次执行# 1. 初始化本地仓库只做一次gitinit# 2. 把文件加入暂存区. 表示当前目录所有文件gitadd.# 3. 提交到本地仓库-m 后面写清楚这次提交了什么gitcommit-m写这个版本改了什么东西# 4. 关联 Gitee 远程仓库地址换成自己的gitremoteaddorigin https://gitee.com/qzh_projects/tools.git# 5. 推送-u 只需第一次加以后直接 git pushgitpush-uorigin master2.4 从 Gitee 开始克隆到本地换了电脑、或者下载别人的项目克隆gitclone https://gitee.com/qzh_projects/tools.git执行后当前目录下会多出一个与仓库同名的文件夹包含全部代码和完整的提交历史直接用。2.5 修改远程仓库地址仓库迁移、改名、或者 HTTPS/SSH 换着用不用删了重加直接覆盖gitremote set-url origin https://gitee.com/qzh_projects/tools.gitgitremote set-url origin gitgitee.com:qzh_projects/tools.git# 验证是否切换成功gitremote-v四、后续日常三连日常三连add → commit → push关联关系建立好以后日常改代码只重复三条命令gitadd.# 把改动放入暂存区gitcommit-m说明一下修改了什么# 提交到本地仓库gitpush# 推送到 Gitee理解这三条命令先记住 Git 的三个区git add就像把东西放进打包箱.表示把当前目录及其所有子目录下的改动也可以选择性放git add main.c只放这一个文件git commit是把打包箱封存进档案库并附一张纸条-m 里的说明git push是把本地档案库同步到 Gitee。五、查看历史与版本回退# 完整历史含作者、日期、详细说明gitlog# 查看提交历史一行一条前面是版本号gitlog--oneline# a1b2c3d 修复LED延时bug# e4f5g6h 新增按键检测# i7j8k9l 初始导入# 查看某个旧版本的文件gitshow a1b2c3d:main.c# 对比某个旧版本和现在的区别gitdiffe4f5g6h main.c# 发现旧版本更好把旧版本的这一个文件恢复出来gitcheckout e4f5g6h -- main.c# 提交这次恢复并推送gitcommit-am回退main.c到昨天版本gitpush# 回到某个旧版本临时查看不修改gitcheckout a1b2c3d# 回到最新版本gitcheckout main六、分支我们有时候需要给代码设置一些子版本或者想改代码但怕改砸了就可以使用分支功能。主线默认叫master或main永远保持能跑的状态新功能、新实验在新分支上实现成功了合回来搞砸了直接扔掉。# 1. 基于当前状态开一条新分支gitcheckout-bfeature-pwm# 2. 在新分支上随便改、随便提交主线不受影响gitadd.gitcommit-m实验PWM 调光# 3. 实验成功切回主线合并gitcheckout mastergitmerge feature-pwmgitpush# 4. 实验失败分支不要了删掉就是代码原样回到开分支前gitbranch-Dfeature-pwm如果两个分支改了同一个文件的同一处地方合并时会冲突Git 会把冲突标记写在文件里让你手动选HEAD 你的代码别人的代码feature-pwm保留想要的、删掉标记行再git addgit commit即可。冲突不可怕它就是在问你这两处改动听谁的。结语本文从安装配置、仓库规划、Gitee 关联到日常提交、版本回退把嵌入式开发者用得到的 Gitee / Git 操作过了一遍。命令不在多练熟三连和回退日常开发就够用了后期如果遇到新的功能需求再来记录。好了本文就到这里。谢谢大家
阅读完成 · 觉得有帮助?