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

一、为什么要学Git?

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

问题 Git怎么解决
电脑坏了代码没了 代码推送到远程仓库(GitHub),永远丢不了
代码改坏了想回去 git reset --hard 一键回到任意历史版本
多人同时改一个文件 各自在自己的分支上改,互不影响,最后合并
不知道谁写的Bug git 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. 配置用户名和邮箱(必须做,每次提交都会记录这个信息)

bash 复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

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

bash 复制代码
# 简化日志输出
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

# 简化文件列表
alias ll='ls -al'

五、基础操作命令

1. 初始化仓库

bash 复制代码
git init  # 把当前目录变成Git仓库,会生成一个隐藏的.git文件夹

2. 查看状态

bash 复制代码
git status  # 查看哪些文件修改了、哪些在暂存区、哪些还没跟踪

3. 添加到暂存区

bash 复制代码
git add 文件名    # 添加指定文件
git add .         # 添加所有修改的文件

4. 提交到本地仓库

bash 复制代码
git commit -m "本次提交的说明"

5. 查看提交历史

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

6. 版本回退

bash 复制代码
git reset --hard commitID  # 回到指定版本,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 排除不需要版本控制的文件
相关推荐
jay神1 小时前
深度学习的优化器应该怎么选?
人工智能·python·深度学习·毕业设计·课程设计
hsjiasb8 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
小弥儿8 小时前
GitHub今日热榜 | 2026-08-16:大模型微调与编码工具扎堆
学习·开源·github
2501_926978339 小时前
AGI 的四种瓶颈:资源型还是发现型--以及DSH的位置
人工智能·经验分享·笔记·ai写作
XLYcmy9 小时前
京东 算法实习一面 下+手撕
c++·python·llm·概率论·数据处理·训练·codebert
虎头金猫9 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
从零开始学习人工智能9 小时前
WSL2部署CUDA12+cuDNN9踩坑实录:ONNX Runtime GPU推理环境搭建全流程
python
m0_3807438710 小时前
从零调用 Claude 教程
开发语言·python·node.js
liuqs33210 小时前
nat123安卓和nat123全端口选型指南,映射工具怎么挑
网络·笔记
xian_wwq10 小时前
【学习笔记】光伏“四可”装置纵密模块--配置方法和原理
笔记·学习