Windows 下 Git 常规操作教程:命令行与 TortoiseGit

Windows 下 Git 常规操作教程:命令行与 TortoiseGit

Git 是目前最流行的版本控制系统,而在 Windows 平台,我们可以通过多种方式与它交互。本教程将介绍两种最主流的方法:

  1. TortoiseGit:俗称"小乌龟",它与 Windows 资源管理器深度集成,提供了便捷的图形化界面(GUI),非常适合初学者。
  2. 命令行 (Command Line):通过 PowerShell、CMD 或 Git Bash 等终端工具直接使用 Git 命令,这是更通用、更强大的方式,也是专业开发的必备技能。

本教程将引导您同时掌握这两种方式,完成最常见的几个操作:克隆、更新、查看日志、切换分支、提交和推送。


扩展阅读


目录

  • [1. 初始配置:设置您的用户信息](#1. 初始配置:设置您的用户信息)
  • [2. 克隆 (Clone) - 将远程项目复制到本地](#2. 克隆 (Clone) - 将远程项目复制到本地)
  • [3. 更新 (Pull) - 同步远程仓库的最新代码](#3. 更新 (Pull) - 同步远程仓库的最新代码)
  • [4. 查看日志 (Log) - 浏览项目的提交历史](#4. 查看日志 (Log) - 浏览项目的提交历史)
  • [5. 切换分支 (Switch/Checkout) - 在不同开发线间移动](#5. 切换分支 (Switch/Checkout) - 在不同开发线间移动)
  • [6. 提交 (Commit) - 保存您的本地修改](#6. 提交 (Commit) - 保存您的本地修改)
  • [7. 推送 (Push) - 将本地提交分享到远程仓库](#7. 推送 (Push) - 将本地提交分享到远程仓库)

1. 初始配置:设置您的用户信息

在您首次提交代码前,必须为 Git 设置您的用户名和电子邮件地址。每一次提交都会记录这些信息,以便追溯代码是谁贡献的。

Git 的配置有不同的级别,最常用的是 全局(Global)项目(Local) 两种:

  • 全局配置:对当前电脑用户的所有 Git 项目生效。通常在新电脑上只需设置一次。
  • 项目配置:仅对当前项目生效,会覆盖全局配置。适用于您在特定项目中使用不同身份的场景。

建议:先设置好全局配置,然后在有特殊需求的项目里再单独设置项目配置。

1.1. 全局配置 (Global) - 对所有项目生效

使用 TortoiseGit (全局)
  1. 在桌面或任意文件夹空白处右键,选择 TortoiseGit -> 设置(E) (Settings)。
  2. 在弹出的对话框左侧,选择 Git
  3. 在右侧的"用户资料" (User Info) 部分,直接填写您的 名称(N) (Name) 和 电子邮件(E) (Email)。
  4. 点击"确定"或"应用"保存。TortoiseGit 会将这些信息写入您的全局 .gitconfig 文件中。
使用命令行 (全局)
  1. 打开任意终端 (PowerShell, CMD, Git Bash)。

  2. 执行以下两条命令,即可为当前电脑用户设置全局用户信息。

    powershell 复制代码
    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
  3. 验证配置 :运行 git config --global user.namegit config --global user.email 可以查看当前设置好的全局用户信息。

1.2. 项目配置 (Local) - 仅对当前项目生效

如果某个特定项目需要使用不同的用户名或邮箱,您可以进入该项目进行单独配置。

使用 TortoiseGit (为当前项目)
  1. 在项目文件夹中任意位置右键,选择 TortoiseGit -> 设置(E) (Settings)。

  2. 在弹出的对话框左侧,选择 Git

  3. 点击 编辑本地 .git/config(L) 按钮。这会用文本编辑器打开当前项目的 Git 配置文件(位于 .git/config)。

  4. 在文件中添加或修改 [user] 部分,然后保存并关闭文件。

    ini 复制代码
    [user]
        name = Your Name For This Project
        email = your.project.email@example.com
使用命令行 (为当前项目)
  1. 打开终端

    在您的项目文件夹中,启动 PowerShell 或 Git Bash。

  2. 执行命令

    运行以下两条命令(注意没有 --global 参数),即可为当前项目设置用户信息。

    powershell 复制代码
    git config user.name "Your Name For This Project"
    git config user.email "your.project.email@example.com"
  3. 验证配置

    在该项目目录下运行 git config user.namegit config user.email 可以查看当前项目设置好的用户信息。


2. 克隆 (Clone) - 将远程项目复制到本地

克隆操作用于将一个远程 Git 仓库完整地复制到您的电脑上,创建一份本地副本。

使用 TortoiseGit 克隆

  1. 复制仓库地址

    首先,在 Git 托管平台(如 GitHub, GitLab, Gitee)上找到您想要克隆的项目的仓库地址(通常以 .git 结尾),并复制它。

  2. 打开克隆对话框

    在您希望存放项目的文件夹空白处,点击鼠标右键,在弹出的菜单中选择 Git 克隆(C)... (Git Clone...)。

  3. 填写信息

    • URL: 粘贴您刚刚复制的仓库地址。
    • 目录 (Directory): TortoiseGit 会自动根据仓库名填充一个本地目录名,您也可以修改为您希望的路径。
    • 其他选项通常保持默认即可。
  4. 执行克隆

    点击"确定"按钮。TortoiseGit 会开始下载仓库内容,完成后您会在指定位置看到一个新的项目文件夹。

使用命令行克隆

  1. 打开终端

    在您希望存放项目的文件夹中,点击鼠标右键,选择"在终端中打开"或类似的选项,启动 PowerShell 或 Git Bash。

  2. 执行命令

    输入 git clone 命令,并在后面跟上您复制的仓库地址,然后按回车。

    powershell 复制代码
    git clone https://github.com/example/project.git

    Git 会开始下载仓库,并在当前目录下创建一个与项目同名的文件夹。


3. 更新 (Pull) - 同步远程仓库的最新代码

当远程仓库有新的提交时,您需要通过"拉取"操作来更新本地代码,以保持与团队同步。

使用 TortoiseGit 拉取

  1. 进入您的项目文件夹。
  2. 在文件夹空白处点击右键(或直接在文件夹图标上右键),选择 TortoiseGit -> 拉取(P)... (Pull...)。
  3. 在弹出的对话框中,通常无需修改任何设置,直接点击"确定"。
  4. TortoiseGit 会自动抓取(Fetch)远程最新的改动并将其合并(Merge)到您当前的分支。

使用命令行拉取

  1. 进入项目目录

    首先,使用 cd 命令进入您的项目文件夹。

    powershell 复制代码
    cd path/to/your/project
  2. 执行命令

    运行 git pull 命令。

    powershell 复制代码
    git pull

    Git 会自动从远程仓库拉取最新的变更并与您本地的分支合并。


4. 查看日志 (Log) - 浏览项目的提交历史

查看日志是了解项目变更历史、追溯代码修改的重要途径。

使用 TortoiseGit 查看日志

  1. 在项目文件夹的空白处点击右键(或直接在文件夹图标上右键)。
  2. 选择 TortoiseGit -> 显示日志(L) (Show log)。
  3. 日志窗口会列出所有的提交记录,从最新到最旧。您可以:
    • 点击任意一条记录,查看该次提交修改了哪些文件。
    • 在下方文件列表中双击某个文件,可以具体查看修改的内容。
    • 看到清晰的分支演进图。

使用命令行查看日志

  1. 进入项目目录

    确保您的终端位于项目文件夹内。

  2. 执行命令

    运行 git log 命令。

    powershell 复制代码
    git log

    终端会按时间顺序列出所有提交记录,包含提交哈希值、作者、日期和提交信息。按 q 键退出日志视图。你也可以使用一些参数来美化输出:

    powershell 复制代码
    # 以更简洁的单行格式显示
    git log --oneline
    
    # 显示分支的图形化表示
    git log --graph --oneline --decorate --all

5. 切换分支 (Switch/Checkout) - 在不同开发线间移动

项目通常会有多个分支,例如主分支 master/main 和各种开发分支。切换分支可以让你在不同的开发任务间工作。

使用 TortoiseGit 切换分支

  1. 在项目文件夹的空白处点击右键(或直接在文件夹图标上右键)。
  2. 选择 TortoiseGit -> 切换/检出(S)... (Switch/Checkout...)。
  3. 在弹出的对话框中,点击 分支 (Branch) 右侧的下拉箭头或 ... 按钮,选择您想要切换到的目标分支。
  4. 点击"确定",TortoiseGit 会将您的工作目录切换到所选分支的状态。

使用命令行切换分支

  1. 进入项目目录

    确保您的终端位于项目文件夹内。

  2. 执行命令

    使用 git switch (推荐) 或 git checkout 命令,后跟要切换的分支名。

    powershell 复制代码
    # 切换到名为 'develop' 的分支
    git switch develop
    
    # 或者使用旧的 checkout 命令
    git checkout develop

6. 提交 (Commit) - 保存您的本地修改

当您在本地修改了代码并希望保存这些变更时,需要执行"提交"操作。

使用 TortoiseGit 提交

  1. 在项目文件夹的空白处点击右键(或直接在文件夹图标上右键),选择 Git 提交(C) -> "您的当前分支名"... (Git Commit -> "branch-name"...)。
  2. TortoiseGit 会打开提交对话框,并列出所有被修改、新增或删除的文件。
  3. 填写提交信息: 在上方的 "日志信息" (Message) 文本框中,清晰、简明地描述您这次提交的目的和内容。这是一个非常重要的好习惯。
  4. 选择要提交的文件: 在下方的 "文件列表" 中,勾选您希望包含在这次提交中的所有文件。
  5. 点击"提交" (Commit) 按钮。这会将您的修改保存在本地仓库中,但还未推送到远程仓库。

使用命令行提交

命令行中的提交通常分两步:暂存 (Stage)提交 (Commit)

  1. 进入项目目录

    确保您的终端位于项目文件夹内。

  2. 暂存文件

    使用 git add 命令将您想要提交的文件添加到暂存区。

    powershell 复制代码
    # 暂存单个文件
    git add file.txt
    
    # 暂存所有已修改和新增的文件
    git add .
  3. 执行提交

    使用 git commit 命令,并使用 -m 参数直接附上提交信息。

    powershell 复制代码
    git commit -m "修复了用户登录的 Bug"

    这会将暂存区的所有内容创建一次新的提交,并保存在本地仓库中。


7. 推送 (Push) - 将本地提交分享到远程仓库

提交只是保存在本地。为了让团队其他成员看到您的代码,或者为了备份,您需要将本地的提交"推送"到远程仓库。

使用 TortoiseGit 推送

  1. 在项目文件夹的空白处点击右键(或直接在文件夹图标上右键)。
  2. 选择 TortoiseGit -> 推送(P)... (Push...)。
  3. 在推送对话框中,通常保持默认设置即可(它会自动选择要推送到哪个远程分支)。
  4. 点击"确定"按钮。TortoiseGit 会将您本地所有尚未推送的提交上传到远程服务器。

使用命令行推送

  1. 进入项目目录

    确保您的终端位于项目文件夹内。

  2. 执行命令

    运行 git push 命令。

    powershell 复制代码
    git push

    Git 会将您本地当前分支上所有尚未推送的提交上传到与之关联的远程分支。

相关推荐
fushan20122 小时前
Windows 虚拟机配置与驱动安装记录
windows·k8s·vm·kubevirt
一瞬祈望3 小时前
【环境配置】Windows 下使用 Anaconda 创建 Python 3.8 环境 + 安装 PyTorch + CUDA(完整教程)
pytorch·windows·python
曹牧3 小时前
Java String[] 数组的 contains
java·开发语言·windows
Hotakus3 小时前
手柄也能辅助绘画与办公 XialloControl 新的手柄映射键鼠软件
windows·开源·github·开源软件·个人开发
dyxal4 小时前
Windows 内网环境离线安装 MySQL 完整指南
windows·mysql·adb
Misnice5 小时前
pip 查看当前包列表
windows·python·pip
The Straggling Crow5 小时前
熟练版本控制 (Git)、CI/CD 流程。
git·elasticsearch·ci/cd
海绵宝宝_7 小时前
Copilot 一键生成中文 Git Commit Message
git
油丶酸萝卜别吃8 小时前
在Spring Boot项目中使用RestTemplate发送请求时如何处理响应?
windows·spring boot·后端