当前位置: 首页 > news >正文

Git配置与安装并使用Git管理项目

目录

前言:

1 什么是Git

1.1 Git的特点

1.1.1 分布式架构

1.1.2 高效追踪修改

1.1.3 强大的分支管理

1.1.4 完整的历史记录

1.2 Git相关概念

2 配置安装Git

2.1 第一步:安装Git

2.2 第二步:初始化Git仓库

2.3 第三步:将文件添加到暂存区

2.4 第三步:提交更改

3 日常使用的核心工作流

3.1 查看历史

3.2 版本回退

4 使用远程仓库(如 Gitee/GitHub)进行备份和协作

4.1 创建新的云端库

4.1.1 第一步:登录 GitHub

4.1.2 第二步:创建新仓库

4.1.3 第三步:填写仓库信息

4.1.4 第五步:连接你的本地仓库

4.2 后续的推送

4.3 从云端获取项目


前言:

 本文详细介绍了Git的特性与作用,并仔细梳理了Git的安装与配置过程,最后使用GIt管理博主的平衡车项目。

1 什么是Git

        Git 是一个开源的分布式版本控制系统,主要用于跟踪和管理文件(尤其是代码文件)的修改历史,方便多人协作开发和代码版本回溯。它由 Linux 内核的创始人 Linus Torvalds 于 2005 年为管理 Linux 内核开发而创建,如今已成为软件开发领域最流行的版本控制工具之一。

1.1 Git的特点

1.1.1 分布式架构

与 SVN 等集中式版本控制系统不同,Git 是分布式的 —— 每个开发者的本地设备都会保存完整的代码仓库(包括所有历史版本和分支),无需依赖中央服务器即可独立工作。这意味着:

  • 离线时也能提交代码、查看历史;
  • 单点服务器故障不会导致数据丢失(因为每个本地仓库都是完整备份)。
1.1.2 高效追踪修改

Git 不存储文件的完整副本,而是记录文件内容的「变化差异」(快照式存储),因此操作速度快、占用空间小,即使是大型项目也能高效运行。

1.1.3 强大的分支管理

分支是 Git 的核心功能之一,它允许开发者在不影响主代码的前提下创建独立的开发线(比如修复 bug、开发新功能),完成后再合并回主分支。分支操作轻量、快速,是多人协作和并行开发的关键。

1.1.4 完整的历史记录

Git 会记录每一次代码修改(包括修改人、时间、内容说明等),支持随时回溯到任意历史版本,方便排查问题或恢复误删的代码。

1.2 Git相关概念

  • 仓库(Repository):存储代码和版本历史的地方,分本地仓库(本地文件夹)和远程仓库(如 GitHub 上的仓库)。
  • 提交(Commit):将本地修改保存到仓库的操作,每次提交会生成一个唯一的哈希值,作为该版本的标识。
  • 分支(Branch):代码的平行开发线,默认主分支通常名为 main 或 master
  • 合并(Merge):将一个分支的修改整合到另一个分支(如将功能分支合并到主分支)。
  • 远程仓库(Remote):托管在服务器上的仓库(如 GitHub),用于团队共享代码,本地仓库可通过 push(推送)和 pull(拉取)与远程同步。

2 配置安装Git

假设你需要管理的项目代码已经在一个文件夹里了,这里我要管理的项目名称为speedtest。

2.1 第一步:安装Git

  1. 去 Git 官网下载并安装:https://git-scm.com/ 在这一步中会有很多选择步骤,全部保持默认即可

  2. 安装后,在终端(Windows 叫 Git Bash 或 Command Prompt, Mac/Linux 叫 Terminal)里输入以下命令,设置你的用户名和邮箱(这很重要,每次提交都会记录它们):

git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"

2.2 第二步:初始化Git仓库

打开终端,进入到你的项目文件夹。

# 进入你的项目目录
cd /path/to/your/SelfBalancingRobot# 初始化 Git 仓库
git init

执行后,这个文件夹就变成一个 Git 仓库了。

2.3 第三步:将文件添加到暂存区

Git 有一个叫“暂存区”的概念,你可以把它理解为拍照前的取景框。你把想要拍进快照的文件放进去。

# 添加单个文件,比如 main.ino
git add main.ino# 添加所有新文件和修改过的文件(最常用!)
git add .# 添加某个特定文件夹,比如 /src
git add src/

.gitignore 文件(可选但强烈推荐):
有些文件你不希望 Git 管理,比如编译生成的临时文件、IDE 的设置文件等。你可以在项目根目录创建一个名为 .gitignore 的文件,在里面写上这些文件或文件夹的名字。Git 就会自动忽略它们。
对于 Arduino 项目,你可以在里面写:

*.hex
*.elf
*.o
.dep/

2.4 第三步:提交更改

这就是“拍照”的动作,将暂存区的内容永久保存为一个版本。

git commit -m "这里写一句本次提交的说明"

重要: 提交说明一定要写清楚!例如:

  • git commit -m "实现基础PID控制,小车能短暂平衡"

  • git commit -m "修复电机转向错误的Bug"

  • git commit -m "增加蓝牙控制接口"

好的说明能让你在未来一眼就看懂这个版本是干什么的。

3 日常使用的核心工作流

对于你个人项目,90% 的情况就是下面这个循环:

修改代码 -> git add . -> git commit -m "说明"

  1. 你写了一些代码,修复了 Bug。

  2. 使用 git status 查看哪些文件被修改了。(这是一个非常有用的命令,随时可以敲一下看看状态)

  3. 使用 git add . 将所有改动添加到暂存区。

  4. 使用 git commit -m "描述" 提交这次改动。

3.1 查看历史

使用命令git log查看自己都拍了哪些“快照”

git log

它会显示所有的提交记录,包括提交ID、作者、日期和说明。

3.2 版本回退

如果不小心把代码改坏了,想回到某个过去的版本:

  1. 先用 git log 找到你想回去的那个版本的 commit id(很长的那串哈希值,复制前7位就行)。

  2. 执行回退命令:

git checkout <commit_id>

这时你的文件就会变成那个旧版本的样子。如果你想在这个旧版本上重新开始,可以创建一个新分支。如果想直接抛弃所有新改动,彻底回到过去,可以用 git reset 命令(这个要谨慎使用)。

4 使用远程仓库(如 Gitee/GitHub)进行备份和协作

本地仓库只在你的电脑上,如果电脑坏了就完了。所以需要把仓库放到云端。

4.1 创建新的云端库

在 Gitee(码云)或 GitHub 上创建一个新的空仓库,这里我GitHub上建立一个新的库。

4.1.1 第一步:登录 GitHub
  1. 打开 GitHub 官网

  2. 登录你的账户(如果没有账户,需要先注册)

4.1.2 第二步:创建新仓库
  1. 在 GitHub 页面右上角,点击 "+" 图标

  2. 在下拉菜单中选择 "New repository"  或者你也可以:

  • 点击你的头像 → "Your repositories" → "New" 按钮

4.1.3 第三步:填写仓库信息

基本设置:

  • Repository name:仓库名称(如 self-balancing-robot

  • Description:描述(可选,如 "STM32平衡车项目")

重要选项:

  • Public/Private

    • Public:公开,任何人都能看到

    • Private:私有,只有你自己和授权的人能看到

  • Initialize this repository with:

    • 不要勾选 "Add a README file"

    • 不要勾选 "Add .gitignore"

    • 不要勾选 "Choose a license"

重要:保持这些都不勾选,创建真正的空仓库!

创建成功后会出现下面的提示界面,包含后续操作的指导:

4.1.4 第五步:连接你的本地仓库

在你的项目目录中打开git bash执行:

# 添加远程仓库地址
git remote add origin https://github.com/你的用户名/self-balancing-robot.git# 确保分支名为 main(如果还不是的话)
git branch -M main# 首次推送到远程仓库
git push -u origin main

4.2 后续的推送

在你本地进行了新的 commit 之后,想更新云端代码,只需:

git push

4.3 从云端获取项目

输入命令:

git clone https://gitee.com/你的用户名/SelfBalancingRobot.git

git的使用教程到这里就结束了,一开始使用可能会觉得繁琐,习惯之后他将成为你开发中的得力助手,让你再也不用为版本混乱和代码丢失而烦恼!

http://www.dtcms.com/a/446918.html

相关文章:

  • 网站dns查询网址大全2345电脑版下载
  • 串扰13-串扰如何影响信号边沿
  • 泰安市住房与城乡建设局网站企业网站建设的目的
  • jetson nano搭建vue3环境
  • 为什么mysql要有主从复制,主库,从库这种东西
  • 进网站后台显示空白wordpress 虾米音乐插件
  • 中国最大的做网站公司常州企业建站系统
  • U支付自动发卡平台使用教程
  • 正规网站优化公司宝思哲手表网站
  • 山西做网站的公司哪个好阜城网站建设价格
  • Raspberry Pi Pico GPIO
  • 网站备案icp过期上海做网站seo
  • 微网站开发 在线商城泰安求职招聘网
  • RSA-NOTES-2
  • 客户管理系统网站模板下载最新的域名
  • Bootstrap5 弹出框
  • 3d网站带后台下载网络公关名词解释
  • 商丘做网站推广的公司目前免费的h5制作软件
  • Halcon算子学习1-机器视觉Halcon中,select_gray和select_shape的区别?如何选择与使用建议?如何组合使用?
  • 兰州程序开发网站建设成都双语网站开发
  • systemd-resolved.service实验实战1
  • 山东房和城乡建设厅网站首页网站开发维护合同书
  • 呼和浩特建设网站建立网站服务器怎么弄
  • 昆明网站建设网站建设软件开发兼职平台
  • 给别人做网站 网站违法了wordpress企业博客主题
  • Visual Studio 图标(类视图与对象浏览器)
  • linux中ioctl的工作流程以及ethtool是如何获取网络设备信息的
  • 线程的生命周期在线剖析
  • [C++ 高并发内存池] 内存管理基础与问题分析
  • 自己的做网站单页 wordpress