Git 基础操作指南

前情提要:Git代码不会识别#为注释,所以再实验的时候请把#部分的注释给去掉

一、Git 是什么

1.1 Git 的诞生与概念

Git 是一个分布式版本控制系统 (Distributed Version Control System, DVCS),由 Linux 之父 Linus Torvalds 在 2005 年开发,最初是为了管理 Linux 内核代码。与传统集中式版本控制系统 (如 SVN) 不同,Git 采用分布式架构,每个开发者本地都有完整仓库副本,这带来了三大革命性优势:离线工作、强大的分支管理能力和极快的操作速度。

Git 的核心功能是记录文件的变更历史,让开发者能够方便地进行版本管理、团队协作和代码回溯。通过 Git,你可以:

  • 跟踪代码的每一次修改
  • 创建并行开发分支
  • 轻松回滚到任何历史版本
  • 与团队成员高效协作
  • 管理项目的完整历史记录

1.2 Git 的基本概念

在深入学习 Git 操作前,需要先理解几个核心概念:

概念 解释
仓库 (Repository) 包含所有代码和版本历史的目录,即项目的完整备份
工作区 (Working Directory) 当前正在编辑的文件所在的目录
暂存区 (Stage/Index) 临时存放更改的区域,准备提交
提交 (Commit) 记录代码的一次变化,形成版本历史
分支 (Branch) 代码的一个独立版本,允许并行开发
合并 (Merge) 将一个分支的更改合并到另一个分支
克隆 (Clone) 从远程仓库复制代码到本地
拉取 (Pull) 从远程仓库获取最新更改
推送 (Push) 将本地更改推送到远程仓库

这些概念构成了 Git 操作的基础,理解它们将帮助你更高效地使用 Git。

1.3 Git 与 GitHub/GitLab/Gitee 的关系

虽然 Git 和 GitHub 常被一起提及,但它们是不同的概念:

  • Git是一个开源的版本控制系统,是一个工具
  • GitHub是一个基于 Git 的代码托管平台,提供 Web 界面和额外服务
  • GitLab和 Gitee (码云) 是类似 GitHub 的代码托管平台,提供不同的功能和服务

Git 可以独立于这些平台使用,但结合这些平台可以更方便地进行团队协作、代码审查和项目管理。

二、Git 安装与配置

2.1 Windows 系统安装 Git

在 Windows 系统上安装 Git 非常简单,只需按照以下步骤操作:

下载安装包:访问 Git 官方网站 下载最新版本的 Git 安装程序。

验证安装:安装完成后,打开 Git Bash,输入以下命令检查是否安装成功:

bash 复制代码
git --version

如果显示版本号 ,则说明安装成功。

2.2 初次配置 Git

安装完成后,需要进行一些基本配置:

  1. 设置全局用户名和邮箱:
bash 复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

这一步非常重要,因为每次提交代码时都会使用这些信息来标识作者身份。

  1. 检查配置:
bash 复制代码
git config --list

确认输出中包含 user.name 和 user.email 的配置。

  1. 设置默认文本编辑器(可选):
bash 复制代码
git config --global core.editor "code --wait"  # 使用VS Code作为编辑器
  1. 设置差异比较工具(可选):
bash 复制代码
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
  1. 设置自动换行处理(Windows 用户建议设置):
bash 复制代码
git config --global core.autocrlf true

2.3 SSH 密钥配置(可选但推荐)

如果你计划使用 SSH 协议连接远程仓库(如 GitHub、GitLab 等),需要配置 SSH 密钥:

  1. 生成 SSH 密钥:
bash 复制代码
ssh-keygen -t rsa -C "你的邮箱"

连续按三次回车键使用默认设置。

  1. 查看公钥:
bash 复制代码
cat ~/.ssh/id_rsa.pub
  1. 复制输出的公钥内容。
  2. 添加公钥到远程平台:
    将复制的公钥添加到 GitHub、GitLab 或 Gitee 等平台的 SSH 密钥设置中。

三、开始使用 Git

3.1 本地仓库操作

3.1.1 创建新仓库

在现有项目目录中初始化一个新的 Git 仓库:

bash 复制代码
cd /path/to/your/project  # 进入项目目录
git init  # 初始化Git仓库

这会在项目目录中创建一个名为.git的隐藏 文件夹,包含了所有 Git 相关的数据------在我的创建过程中,第一次输入git init只是显示了具体参数的用法,遇到这种情况大家再输入一次git init就好

3.1.2 克隆远程仓库

如果你需要从远程仓库开始,可以使用git clone命令:

bash 复制代码
git clone https://github.com/user/repository.git  # 克隆远程仓库到当前目录
git clone https://github.com/user/repository.git my-local-repo  # 克隆到指定目录

3.2 基本工作流程

Git 的基本工作流程包括三个主要步骤:

  1. 修改文件:在工作区中进行代码修改
  2. 暂存更改:将需要提交的更改添加到暂存区
  3. 提交更改:将暂存区中的更改保存到仓库中

3.2.1 查看文件状态

在进行任何操作前,了解文件的当前状态非常重要:

bash 复制代码
git status  # 查看当前工作区的状态
git status -s  # 以简洁模式查看状态

3.2.2 添加文件到暂存区

将文件从工作区添加到暂存区:

bash 复制代码
git add filename  # 添加指定文件到暂存区
git add .  # 添加当前目录下的所有文件(包括子目录)到暂存区
git add *.py  # 添加当前目录下的所有.py文件到暂存区

3.2.3 提交更改

将暂存区中的更改提交到本地仓库:

bash 复制代码
git commit -m "提交信息"  # 提交暂存区的更改,并添加描述信息

提交信息规范:良好的提交信息有助于理解代码变更,建议遵循以下格式:

<类型>(<范围>): <描述>

例如

bash 复制代码
feat(login): 添加用户登录功能
fix(profile): 修复个人资料显示问题
docs: 更新README文档

3.2.4 查看提交历史

查看项目的提交历史记录:

bash 复制代码
git log  # 查看所有提交历史
git log --oneline  # 查看简洁的提交历史
git log -n 5  # 查看最近5次提交
git log --graph  # 查看分支合并图

3.3 远程仓库操作

3.3.1 初始化本地仓库

  1. 打开终端(Windows 可使用 PowerShell 或命令提示符,Mac/Linux 使用终端)
  2. 进入你的项目文件夹:
bash 复制代码
cd C:\Users\chanpi\Desktop\Backtesting
  1. 初始化 Git 仓库:
bash 复制代码
git init

3.3.2 关联远程 GitHub 仓库

  1. 将本地仓库与你的 GitHub 仓库关联:
bash 复制代码
git remote add origin https://github.com/JaneSmith540/BT.git

注:如果之前已关联过其他远程仓库,可先删除旧关联:

bash 复制代码
git remote remove origin

3.3.3 添加文件并提交

  1. 将项目中所有文件添加到暂存区:
bash 复制代码
git add .

(.表示添加当前目录下所有文件,若有不需要上传的文件,可创建.gitignore文件排除)

  1. 提交暂存区文件到本地仓库,填写提交说明(替换"初始提交"为具体描述):
bash 复制代码
git commit -m "初始提交"

3.3.4 推送到 GitHub 仓库

将本地提交推送到远程 GitHub 仓库:

bash 复制代码
git push -u origin master

3.4 分支管理

分支是 Git 的强大功能之一,它允许你在不影响主代码的情况下进行实验性开发:

3.4.1 分支查看

cd到当前目录后,可以使用相应的语句来查看分支

bash 复制代码
git branch

3.4.2 创建和切换分支

bash 复制代码
git branch new-branch  # 创建新分支
git checkout new-branch  # 切换到新分支
git checkout -b new-branch  # 创建并切换到新分支(常用)

3.4.3 合并分支

将一个分支的更改合并到当前分支:

bash 复制代码
git checkout main  # 切换到目标分支(例如main)
git merge feature-branch  # 合并feature-branch到当前分支

3.5 撤销操作

3.5.1 撤销工作区修改

bash 复制代码
git checkout -- filename  # 撤销未暂存的修改

3.5.2 撤销暂存区修改

bash 复制代码
git reset HEAD filename  # 撤销已暂存但未提交的修改

3.5.3 回退到历史版本

bash 复制代码
git log  # 找到目标版本的commit哈希值
git reset --hard commit-hash  # 回退到指定版本

3.5.4 删除创建分支

bash 复制代码
# 安全删除新分支
git branch -d new-branch

注意:git reset --hard会丢弃所有后续更改,使用时需谨慎。

四、进阶技巧

4.1 忽略文件

创建.gitignore文件来指定 Git 应忽略的文件和目录:

bash 复制代码
# 忽略所有.log文件
*.log

# 忽略node_modules目录
node_modules/

# 忽略.DS_Store文件(Mac系统)
.DS_Store

# 忽略.idea目录(IntelliJ IDEA)
.idea/

# 但保留特定文件
!important.txt

将.gitignore文件添加到版本控制中,确保团队成员使用一致的忽略规则。

4.2 标签管理

标签用于为仓库中的特定提交打标签,通常用于标记版本发布点:

bash 复制代码
git tag v1.0  # 创建一个轻量标签
git tag -a v1.0 -m "版本1.0发布"  # 创建一个附注标签
git push origin v1.0  # 推送标签到远程仓库

4.3 暂存功能

在开发过程中,你可能需要临时切换分支,但又不想提交当前的更改。这时可以使用git stash:

bash 复制代码
git stash  # 暂存当前工作区的更改
git stash list  # 查看所有暂存
git stash apply  # 恢复最新的暂存
git stash pop  # 恢复并删除暂存记录
相关推荐
nvd113 小时前
Flink 批处理驱动的湖仓 AI 财务研报流水线:从双流广播汇聚到 Agent 智能决策与原生 Iceberg 落盘全景实战
大数据·人工智能·flink
计算机编程指导师5 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
QYR_116 小时前
机械制造用固体润滑涂层市场分析:2032年全球市场规模预计达8.78亿元,CAGR为6.2%
大数据·人工智能·物联网
数字化顾问6 小时前
(144页PPT)数字化转型汽车企业数智化战略规划(附下载方式)
大数据
zttbee6 小时前
git命令
git
智慧物业老杨8 小时前
数字底座,重构小区治理秩序
大数据
计算机编程指导师8 小时前
【计算机毕设选题推荐】基于Hadoop的宫颈癌变进程光谱数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·数据分析·spark·毕业设计·宫颈癌变
guhunyihan9 小时前
无代码系统搭建平台,探索恐象 AI 带来的开发新范式
大数据·人工智能
计算机编程指导师9 小时前
【计算机毕设选题推荐】基于Hadoop+Spark的化妆品销售大数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·化妆品
benchmark_cc9 小时前
前复权数据每天可能变化,历史数据库应该覆盖还是保留原始价格?
大数据·python·pandas·量化交易·股票数据·quantdash