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 排除不需要版本控制的文件
相关推荐
智能体与具身智能8 分钟前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
李帅朋33 分钟前
微分基本定义笔记
人工智能·笔记·深度学习·神经网络
2601_962294611 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
传奇开心果编程2 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
水巷石子2 小时前
备考系统架构设计师第一天
学习·架构·软考·设计·考试
青 春 记 忆2 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马2 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
是隼人3 小时前
buuctf-pwn inndy_echo(32位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
白山编程大哥3 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
xian_wwq3 小时前
【学习笔记】深度认知系列-第16讲-提示词工程
人工智能·笔记·学习