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

版本控制器-git

引言

不知道你工作或学习时,有没有遇到这样的情况:我们在编写各种文档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,比如:

“报告-v1”

“报告-v2”

“报告-v3”

“报告-确定版”

“报告-最终版”

“报告-究极进化版”

...

每个版本有各自的内容,但最终会只有⼀份报告需要被我们使用 。

但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越

多,文件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各自都是修改了什么

吗?

文档如此,我们写的项目代码,也是存在这个问题的!!

1.git

1.1git是什么

为了能够更方便我们管理这些不同版本的文件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个文件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也方便多人协同作业。目前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的文件,例如 doc、excel、dwg、 dgn、rvt等等。对于我们开发⼈员来说,Git 最重要的就是可以帮助我们管理软件开发项目中的源代码文件

1.2git安装

yum install git

1.3如何在git中下载项目到本地

首先需要在git中复制项目的链接,然后在xshell中创建好一个放置代码的目录,其中url就是我们复制的链接;

git clone---获取远端仓库

git clone [url]

1.4如何查看仓库状态

git status

M README.md # 已修改但未暂存
M index.html # 已修改并已暂存
A newfile.txt # 新增文件(已暂存)
?? untracked.c # 未跟踪文件
D deleted.txt # 已删除

1.5 如何忽略掉不想本地托管上传的文件

.gitignore

① 在项目根目录创建

touch .gitignore

② 或用编辑器创建

vim .gitignore

③基本语法规则

# 注释以 # 开头
# 忽略所有 .log 文件 *.log

secret.txt config.ini

# 忽略目录(结尾加 /)

node_modules/ build/ dist/

# 不忽略某个特定文件(用 !)

!important.log # 除了 important.log

# 忽略模式匹配

temp-*.txt # 忽略所有 temp- 开头的 .txt 文件 *.py[cod] # 忽略 .pyc, .pyo, .pyd 文件

1.6如何查看项目的提交历史记录

git log

显示、在什么时候为什么(提交信息)修改了代码。

# 查看最近5次提交 git log -5 --oneline # 查看今天的提交 git log --since="today" --oneline # 查看本周的提交 git log --since="1 week ago"

1.7git pull

(1) git pull 是从远程仓库拉取最新代码并合并到本地的命令。

git pull = git fetch + git merge 拉取更新 下载远程代码 合并到本地

(2)基本语法

git pull [远程名] [分支名]

(3)多人协作场景

# 你开始工作前 git pull origin main # 1. 拉取最新代码 # 你编写代码... vim file.c git add file.c git commit -m "添加新功能" # 提交前再次拉取(防止冲突) git pull origin main # 2. 拉取别人提交的代码 # 如果有冲突,解决冲突 # git add 解决后的文件 # git commit # 推送你的代码 git push origin main

1.8三板斧

1.8.1 git add

将代码放置在刚才下载好的目录里,将需要用git管理的文件告诉git;

git add [⽂件名]
1.8.2 git commit

Git 提交命令,将暂存区的更改保存到本地仓库。

git commit -m "提交说明"
1.8.3 git push
同步到远端服务器上
git push
需要填⼊用户名密码. 同步成功后, 刷新 Github ⻚⾯就能看到代码改动了。

总体来说,

# 1. 修改文件 vim file.c # 2. 添加到暂存区 git add file.c # 3. 提交到本地仓库(就是你现在问的) git commit -m "修复bug:优化了文件读取逻辑" # 4. 推送到远程仓库(可选) git push

1.9工作中怎么使用git
http://www.jsqmd.com/news/506451/

相关文章:

  • 探讨2026年工业机器人厂家,产品性能优势大的品牌排名 - myqiye
  • TM8211双通道16位DAC驱动实践:从音频到高精度信号生成
  • 从查表到闭环:转向侧倾控制模块的精细化开发与Carsim仿真验证
  • 宁波大学渔业发展专业复试通关资料|上岸学长亲整理,含《渔业导论》高频问答、精讲视频、背诵手册、全流程指南、最新考纲及水产英语术语大全
  • MogFace-CVPR22效果惊艳展示:10张复杂合影人脸检测结果对比图集
  • 教育行业CMS系统集成百度UM时如何优化截图上传功能?
  • 2026年铝型材定制工艺哪家强,江西性价比高的制造商排名 - 工业设备
  • QQuick中实现6轴机械臂3D模型动态装配与联动控制
  • 基于STC89C52的智能抢答器系统设计与实现
  • 2.数据采集基础知识
  • 北京陪诊行业乱象多,如何挑选正规有资质的陪诊机构 - 品牌排行榜单
  • OpenClaw Skill 扩展机制详解 — 以 AWS 成本监控为例的开发实践
  • 除螨喷雾剂哪个长效耐用?仙贝宁全新升级医护级,30天长效防护除螨率99.9%不反弹 - 博客万
  • OpenClaw | Windows11养虾日记1-安装OpenClaw
  • 京内三甲医院挂号排队难?靠谱陪诊全程代办高效就医 - 品牌排行榜单
  • 中文纠错模型横向评测:MacBERT/T5/ChatGLM在SIGHAN2015上的表现对比
  • cv_resnet50_face-reconstruction IDEA下载安装与配置
  • XAML中的属性转换器
  • 参考2026江苏正规美学植发医院分析,选对植发医院,5C美学种植/微针植发/发际线种植/植发,美学植发品牌哪家权威 - 品牌推荐师
  • ESP32-S3蓝牙配网实战:从零开始配置你的物联网设备(附完整代码)
  • 别再让模型“蒙混过关”了:手把手教你用MMMU-Pro基准测试多模态AI的真实能力
  • ESP32开发环境搭建避坑指南:VSCode+IDF离线安装全流程(附常见错误解决)
  • 构建现代化在线小说阅读平台:PHP+Vue.js+MySQL全栈开发实践
  • 全国聚氨酯发泡机靠谱供应商有哪些,选购时要注意什么? - 工业设备
  • 子女外地打拼不在身边,北京老人选陪诊,这些要点必须记牢 - 品牌排行榜单
  • Cadence 617实战:带源级负反馈共源放大器仿真全流程解析——从理论到波形
  • 国内活塞压力计厂家红榜2026:技术实力+口碑双维度评测,西安祥跃登顶 - 深度智识库
  • 树莓派4B智能电源实战:从串口配置到电压监控全流程(附调试工具)
  • 陪诊不是简单跑腿!北京守嘉陪诊用专业筑牢就医保障 - 品牌排行榜单
  • 仅限首批200名订阅者开放:工业PLC梯形图智能转C代码诊断套件(含OPC UA实时调试插件+IEC 61131-3合规性报告生成器)