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

Python学习笔记·第28天:Git入门——版本控制与基础操作

一、为什么要学Git?

一句话:Git就是代码的“时光机+备份硬盘+协作工具”。

问题Git怎么解决
电脑坏了代码没了代码推送到远程仓库(GitHub),永远丢不了
代码改坏了想回去git reset --hard一键回到任意历史版本
多人同时改一个文件各自在自己的分支上改,互不影响,最后合并
不知道谁写的Buggit log查看每次提交的记录和作者

二、集中式 vs 分布式

类型代表特点
集中式SVN代码存在中央服务器,断网不能干活
分布式Git每台电脑都有完整仓库,断网也能提交,联网后同步

三、Git 工作流程图

工作区(写代码的地方) → git add → 暂存区(准备提交的文件) → git commit → 本地仓库(保存历史版本) ↓ git push ↓ 远程仓库(GitHub)

七个核心命令

命令方向作用
git clone远程 → 本地把远程仓库复制到本地
git add工作区 → 暂存区把修改加入暂存区
git commit暂存区 → 本地仓库把暂存区内容提交到本地仓库
git push本地 → 远程把本地仓库推送到远程仓库
git pull远程 → 工作区拉取远程更新并合并
git fetch远程 → 本地仓库只拉取不合并
git checkout本地仓库 → 工作区切换分支或恢复文件

四、安装与配置

1. 安装

下载地址:https://git-scm.com/download

安装完成后,桌面右键能看到Git Bash HereGit GUI Here就说明安装成功。

2. 配置用户名和邮箱(必须做,每次提交都会记录这个信息)

gitconfig--globaluser.name"你的名字"gitconfig--globaluser.email"你的邮箱"

3. 配置别名(可选,但建议配置)

# 简化日志输出aliasgit-log='git log --pretty=oneline --all --graph --abbrev-commit'# 简化文件列表aliasll='ls -al'

五、基础操作命令

1. 初始化仓库

gitinit# 把当前目录变成Git仓库,会生成一个隐藏的.git文件夹

2. 查看状态

gitstatus# 查看哪些文件修改了、哪些在暂存区、哪些还没跟踪

3. 添加到暂存区

gitadd文件名# 添加指定文件gitadd.# 添加所有修改的文件

4. 提交到本地仓库

gitcommit-m"本次提交的说明"

5. 查看提交历史

gitlog# 详细日志git-log# 精简日志(需要先配置别名)gitreflog# 查看所有操作记录(包括已删除的提交)

6. 版本回退

gitreset--hardcommitID# 回到指定版本,commitID用git-log查看

六、忽略文件.gitignore

有些文件不需要Git管理(日志、临时文件、编译产物),在项目根目录创建.gitignore文件:

*.log # 忽略所有.log文件 __pycache__/ # 忽略Python缓存文件夹 *.pyc # 忽略编译后的Python文件

今日核心总结

  1. Git是分布式版本控制工具:每台电脑都有完整仓库,断网也能提交
  2. 三步上篮addcommitpush
  3. 时光倒流git reset --hard commitID回到任意历史版本
  4. 查日志git-log看提交历史,git reflog看所有操作记录
  5. 忽略文件.gitignore排除不需要版本控制的文件
http://www.jsqmd.com/news/1144904/

相关文章:

  • 固态硬盘台式怎么安装在笔记本身上?
  • 深入理解进程:从硬件到操作系统的进程管理
  • Python 装饰器:FastAPI 路由背后的“智能包装流水线”
  • AI Agent 想越用越强,关键不是记忆,而是飞轮
  • 技术创业的团队文化建设:远程协作与异步沟通的落地实践
  • 多智能体协作真相:不要把共享记忆变成垃圾场
  • 儿童面部彩绘品牌推荐:安全与色彩的双重考量
  • D2DX:让《暗黑破坏神2》在现代PC上完美运行的终极方案
  • 分享|旧手机转SIP网关,门槛到底多高?
  • 高密度扇出面板封装的检测与计量技术追赶之路
  • 2026论文全流程终极榜单:10款降AIGC平台, 合规修正一路顺畅
  • 教你2.5秒学会使用Python
  • BS-RoFormer终极指南:快速掌握SOTA音乐分离深度学习模型
  • 自研直线电机在3D打印设备中的应用验证与性能优化
  • 服务器上架vastai平台,我有一个4090服务器,想上架vast平台,有没有人懂这个!
  • NumPy 2.5 性能对比:原生列表、np.corrcoef() 与 SciPy 3 种相关系数计算效率
  • 团建研学活动文创礼品怎么选?景德镇陶瓷配套产品场景采购指南
  • 煤矿井下矿工人员目标检测:基于YOLO11的训练流程与数据集构建实践
  • Task异步练习(进度条)
  • BUUCTF findit
  • 用 conda-pack 打包带走,连网都不用
  • 本地知识库搭好了但不好用?RAG 调优实战:检索准确率从 40% 拉到 90%
  • BUUCTF luck_guy
  • WE Learn网课助手:5分钟掌握终极学习效率工具
  • 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
  • 松下 A5/A6 伺服驱动器 X4 接口接线实战:位置模式 8 个关键引脚与 PLC 连接详解
  • 怎样高效使用Linux桌面便签工具Sticky:实用技巧完整教程
  • PayPal Ventures关停:60亿基金因战略调整落幕,被投企业何去何从?
  • Claude 有了“内心独白”?Anthropic 的 J-space 研究到底说明了什么
  • 【单片机毕业设计】基于 STM32/51 单片机的 MPU6050 倾角检测与倾斜报警装置设计,基于单片机的姿态角度采集与 LCD1602 显示报警系统设计(021201)