杰瑞科技汇

Git Windows教程,如何快速上手?

目录

  1. 第一部分:准备工作

    Git Windows教程,如何快速上手?-图1
    (图片来源网络,侵删)
    • 1 注册 GitHub 账号
    • 2 安装 Git
    • 3 验证安装与初始配置
  2. 第二部分:核心概念理解

    • 1 什么是版本控制?
    • 2 什么是 Git?
    • 3 工作区、暂存区 和仓库
  3. 第三部分:Git 基础操作(本地)

    • 1 创建仓库
    • 2 查看仓库状态
    • 3 添加文件到暂存区
    • 4 提交更改
    • 5 查看历史记录
    • 6 查看提交差异
  4. 第四部分:Git 分支操作

    • 1 什么是分支?
    • 2 创建和切换分支
    • 3 合并分支
    • 4 删除分支
  5. 第五部分:与远程仓库交互(GitHub)

    Git Windows教程,如何快速上手?-图2
    (图片来源网络,侵删)
    • 1 SSH Key 配置(推荐)
    • 2 关联远程仓库
    • 3 推送本地代码到 GitHub
    • 4 从 GitHub 拉取远程代码
    • 5 克隆远程仓库
  6. 第六部分:日常使用场景与最佳实践

    • 1 修改并提交代码
    • 2 协作工作流:Fork & Pull Request
    • 3 解决冲突
  7. 第七部分:常用图形化界面工具

    • 1 Git GUI (官方自带)
    • 2 SourceTree (免费强大)
    • 3 VS Code 集成
  8. 第八部分:总结与资源


第一部分:准备工作

1 注册 GitHub 账号

GitHub 是一个基于 Git 的代码托管平台,也是开发者协作的中心。

Git Windows教程,如何快速上手?-图3
(图片来源网络,侵删)
  1. 打开浏览器,访问 GitHub 官网
  2. 点击右上角的 "Sign up" 按钮。
  3. 按照提示填写用户名、邮箱和密码。注意:邮箱最好使用 Gmail、Outlook 等常用邮箱,后续很多通知会通过邮件发送。
  4. 验证邮箱,完成注册。

2 安装 Git

Git 是一个命令行工具,我们需要先把它安装到 Windows 上。

  1. 访问 Git 官方下载页面:https://git-scm.com/download/win
  2. 点击 "64-bit Git for Windows Setup" 下载安装程序。
  3. 运行安装程序,一路点击 "Next" 即可,Git for Windows 的安装程序非常智能,默认选项已经能满足绝大多数需求。
    • 它会自动将 Git 添加到系统环境变量 PATH 中,这样你就可以在任何地方打开命令行使用 git 命令了。
    • 它还会自带一个名为 "Git Bash" 的终端,这是一个模拟 Linux 命令行的工具,比 Windows 自带的 CMD 更好用。

3 验证安装与初始配置

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

  1. 验证安装

    • 打开开始菜单,搜索并打开 "Git Bash"(推荐使用)或 "CMD" / "PowerShell"
    • 在终端中输入以下命令:
      git --version
    • 如果看到类似 git version 2.x.x 的输出,说明安装成功。
  2. 设置用户信息

    • Git 需要知道你是谁,这样在提交代码时才能记录作者信息,在终端中执行以下命令(请将引号内的内容替换成你自己的信息):

      # 设置你的用户名,会显示在 GitHub 上
      git config --global user.name "你的 GitHub 用户名"
      # 设置你的邮箱,必须是你注册 GitHub 时使用的邮箱
      git config --global user.email "你的邮箱地址"
    • 你可以通过以下命令查看所有全局配置:

      git config --list

第二部分:核心概念理解

1 什么是版本控制?

想象一下你在写一篇论文,每次修改后都手动保存一个副本(如 论文_v1.docx, 论文_v2.docx...),很快你的桌面就会混乱不堪,而且很难找到某个特定版本的修改。版本控制 就是帮你管理这些文件历史记录的工具,你可以轻松地回溯到任何一个历史版本。

2 什么是 Git?

Git 是目前最流行、最强大的分布式版本控制系统,由 Linux 之父 Linus Torvalds 创建。

  • 分布式:意味着每个人的电脑上都有一个完整的仓库(包括完整的历史记录),而不像 SVN 那样依赖中央服务器,这使得离线工作、速度更快、协作更安全。
  • 核心思想:通过 快照 的方式记录文件状态,而不是记录差异,这使得 Git 在处理文件和分支时非常高效。

3 工作区、暂存区 和仓库

理解这三个概念是掌握 Git 的关键。

  1. 工作区:你电脑上能看到的目录,是你当前工作的区域。
  2. 暂存区:也叫 "Index" 或 "Staging Area",它是一个介于工作区和仓库之间的中间区域,你可以把文件从工作区“添加”到暂存区,表示“这些更改我准备提交了”。
  3. 仓库:Git 仓库包含两个部分:
    • Git 目录:存放 Git 用来管理项目元数据和对象文件的地方,这是 Git 最重要的部分,从其他计算机克隆仓库时,复制的就是这里的数据。
    • 工作区:和 Git 目录平级,是你看到和编辑文件的地方。

简单流程工作区 -> git add -> 暂存区 -> git commit -> 仓库


第三部分:Git 基础操作(本地)

我们将在本地进行所有操作,不涉及网络。

  1. 准备工作:在桌面或任意位置创建一个名为 my-project 的文件夹,并在里面创建一个 readme.txt 文件,内容写上 "Hello, Git!"。

  2. 打开 Git Bash:进入 my-project 文件夹,最简单的方法是在文件夹地址栏输入 cmdpowershell 然后回车,或者直接在文件夹里右键选择 "Git Bash Here"。

1 创建仓库

my-project 目录下,执行以下命令:

# 初始化一个 Git 仓库
git init

执行后,你会看到目录下多了一个隐藏的 .git 文件夹,这就是 Git 仓库的标志,千万不要手动修改或删除它里面的任何文件

2 查看仓库状态

这是你最常用的命令之一,它会告诉你工作区的文件状态。

git status

初次执行,你会看到类似输出:

On branch master
No commits yet
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        readme.txt
nothing added to commit but untracked files present (use "git add" to track)
  • Untracked files:表示 readme.txt 是一个未被 Git 追踪的新文件。

3 添加文件到暂存区

readme.txt 添加到暂存区。

# 添加单个文件
git add readme.txt
# 或者添加所有修改和新增的文件
git add .

再次执行 git status,你会看到 readme.txt 从 "Untracked files" 移到了 "Changes to be committed":

On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   readme.txt

readme.txt 已经在暂存区,准备被提交。

4 提交更改

将暂存区的文件永久保存到仓库中。

# -m "提交信息" 是必须的,写一个清晰的描述这次修改做了什么
git commit -m "feat: 添加 readme.txt 文件"

提交成功后,git status,会提示:

On branch master
nothing to commit, working tree clean

这表示工作区是干净的,所有修改都已提交。

5 查看历史记录

查看项目的提交历史。

# 查看简洁的历史记录
git log
# 查看更简洁的一行历史记录(推荐)
git log --oneline

你会看到你刚刚的提交记录,包括提交哈希(一长串字符)、作者、日期和提交信息。

6 查看提交差异

查看某次提交具体修改了哪些内容。

# 查看最近一次提交的详细修改
git show
# 查看最近一次提交的统计信息
git show --stat

第四部分:Git 分支操作

分支是 Git 最强大的功能之一,它允许你独立开发新功能或修复 bug,而不会影响主代码。

1 什么是分支?

分支就像一条平行的时间线,默认情况下,你有一个名为 mastermain 的主分支,你可以从主分支创建一个新的分支(feature-login),在这个新分支上开发登录功能,开发完成后再合并回主分支。

2 创建和切换分支

  1. 创建并切换到新分支

    # -b 表示创建新分支,feature-x 是新分支的名字
    git checkout -b feature-login

    你就在 feature-login 分支上了,如果你修改 readme.txt 并提交,这个修改只会出现在 feature-login 分支上,master 分支不受影响。

  2. 切换分支

    # 切换回 master 分支
    git checkout master

    切换后,readme.txt 的内容会自动变回 master 分支最后一次提交时的样子。

3 合并分支

假设 feature-login 分支的开发已经完成,现在要把它合并到 master 分支。

  1. 确保你在目标分支上:我们要合并到 master,所以先切换到 master

    git checkout master
  2. 执行合并

    # 将 feature-login 分支合并到当前分支
    git merge feature-login

    Git 会自动将 feature-login 的所有更改应用到 master 分支。

4 删除分支

合并完成后,feature-login 分支就没用了,可以删除它。

# -d 表示安全删除,如果分支未合并会报错
git branch -d feature-login

执行后,feature-login 分支就被永久删除了。


第五部分:与远程仓库交互(GitHub)

我们将本地仓库与 GitHub 上的远程仓库连接起来,实现代码的备份和协作。

1 SSH Key 配置(推荐)

使用 SSH 可以免去每次 pushpull 时都输入用户名和密码的麻烦。

  1. 检查是否已有 SSH Key: 在 Git Bash 中输入:

    ls -al ~/.ssh

    如果看到 id_rsaid_rsa.pub 文件,说明你已经有了,可以跳到第 4 步。

  2. 生成新的 SSH Key

    # 将 "your_email@example.com" 替换成你的 GitHub 邮箱
    ssh-keygen -t rsa -C "your_email@example.com"

    连续按三次回车即可,它会使用默认的文件路径和空密码。

  3. 复制 SSH Key

    # 复制公钥内容到剪贴板
    clip < ~/.ssh/id_rsa.pub

    clip 命令无效,你可以手动打开 C:\Users\你的用户名\.ssh\id_rsa.pub 文件,全选并复制所有内容。

  4. 将 SSH Key 添加到 GitHub

    • 登录你的 GitHub 账号。
    • 点击右上角头像 -> Settings
    • 在左侧菜单栏最下方找到并点击 SSH and GPG keys
    • 点击 New SSH key 按钮。
    • Title 随便填一个,"My Windows Laptop"。
    • Key 粘贴你刚刚复制的 id_rsa.pub 文件内容。
    • 点击 Add SSH key
  5. 测试连接

    ssh -T git@github.com

    如果看到 Hi xxx! You've successfully authenticated... 的提示,说明配置成功。

2 关联远程仓库

  1. 在 GitHub 上创建一个新仓库:

    • 点击右上角的 "+" 号,选择 "New repository"。
    • 填写仓库名称(my-project),可以勾选 "Add a README file",然后点击 "Create repository"。
  2. 在本地仓库关联远程仓库:

    • 在 GitHub 仓库页面,点击 "Code" 按钮,然后点击 "SSH" 选项卡,复制仓库地址,git@github.com:你的用户名/my-project.git
    • 在本地的 Git Bash 中,执行以下命令(请将地址替换成你自己的):
      # origin 是远程仓库的默认别名
      git remote add origin git@github.com:你的用户名/my-project.git

3 推送本地代码到 GitHub

将本地的 master 分支推送到远程的 master 分支。

# -u 表示 upstream,将本地 master 分支和远程 master 分支关联起来,以后就可以直接用 git push
git push -u origin master

首次推送需要输入你 GitHub 的用户名和密码(或者 SSH 密钥的密码),推送成功后,你就可以在 GitHub 上看到你的代码了。

4 从 GitHub 拉取远程代码

当你或你的协作者在 GitHub 上修改了代码,你需要把它们拉取到本地。

# 将远程 origin 仓库的 master 分支拉取到本地
git pull origin master

5 克隆远程仓库

如果你想获取一个已有的远程仓库到本地,使用 git clone

# 在 GitHub 仓库页面,复制 SSH 地址
git clone git@github.com:别人的用户名/别人的项目.git

这会在当前目录下创建一个与远程仓库同名的文件夹,并自动完成初始化和远程关联。


第六部分:日常使用场景与最佳实践

1 修改并提交代码

这是最常见的日常工作流:

  1. 修改文件。
  2. git status 查看哪些文件被修改了。
  3. git add <file>git add . 将修改添加到暂存区。
  4. git commit -m "清晰的提交信息" 提交。
  5. git push origin master 将代码推送到远程仓库。

2 协作工作流:Fork & Pull Request

这是 GitHub 协作的标准流程。

  1. Fork (分叉)

    • 在你想要贡献的开源项目 GitHub 页面,点击右上角的 "Fork" 按钮。
    • 这会在你的 GitHub 账号下创建该项目的一个完整副本。
  2. Clone (克隆)

    • 克隆你自己的 Fork 版本到本地。
      git clone git@github.com:你的用户名/别人的项目.git
  3. 创建分支

    • 不要在 master 分支上直接开发!
      git checkout -b feature-你添加的新功能
  4. 开发、提交、推送

    • 在新分支上进行开发、提交和推送。
      # ... 修改代码 ...
      git add .
      git commit -m "feat: 添加了某某新功能"
      git push origin feature-你添加的新功能
  5. 创建 Pull Request (PR)

    • 回到 GitHub 上你自己的 Fork 版本页面。
    • GitHub 会提示你刚刚的推送,并建议你创建一个 Pull Request。
    • 点击 "Compare & pull request"。
    • 填写 PR 的标题和描述,说明你做了哪些修改以及为什么。
    • 点击 "Create pull request"。
  6. 代码审查与合并

    项目的原作者会审查你的代码,如果没问题,他会点击 "Merge",将你的代码合并到他的主项目中,这样,你就为项目做出了贡献!

3 解决冲突

当多人修改了同一个文件的同一部分时,git pullgit merge 就可能产生冲突。

  • 冲突的表现:文件中会出现类似下面的标记:
    <<<<<<< HEAD
    // 这是你的本地代码
    =======
    // 这是远程仓库的代码
    >>>>>>> 远程分支名
  • 解决冲突的步骤
    1. 手动编辑文件:打开冲突的文件,找到 <<<<<<<>>>>>>> 标记,手动决定保留哪一部分代码,或者将两者合并
    2. 删除标记:删除 <<<<<<<, , >>>>>>> 这些行。
    3. 保存文件
    4. 告诉 Git 冲突已解决
      git add <冲突的文件名>
    5. 完成合并
      git commit

      Git 会自动生成一个提交信息,描述这次合并冲突的解决。


第七部分:常用图形化界面工具

虽然命令行很强大,但图形化界面工具能更直观地展示分支、历史和冲突。

1 Git GUI (官方自带)

安装 Git 时会自带一个简单的图形界面,在开始菜单搜索 "Git GUI" 即可打开。

2 SourceTree (免费强大)

由 Atlassian(Jira, Confluence 的开发商)出品,功能非常全面,深受开发者喜爱。

3 VS Code 集成

如果你使用 Visual Studio Code 作为代码编辑器,它内置了非常出色的 Git 集成。

  • 左侧活动栏有一个源代码管理图标(像分支的形状)。
  • 所有状态、暂存、提交、分支操作都可以通过点击界面完成,非常方便。

第八部分:总结与资源

恭喜你!你已经掌握了 Git 的核心用法,熟能生巧,多加练习是关键。

核心命令速查表

命令 作用 示例
git init 初始化仓库 git init
git status 查看仓库状态 git status
git add 添加文件到暂存区 git add . / git add file.txt
git commit 提交暂存区内容 git commit -m "信息"
git log 查看提交历史 git log --oneline
git branch 查看分支 git branch / git branch -d <name>
git checkout 切换分支 git checkout <name> / git checkout -b <name>
git merge 合并分支 git merge <name>
git remote 管理远程仓库 git remote add origin <url>
git push 推送到远程仓库 git push origin master
git pull 从远程拉取 git pull origin master
git clone 克隆远程仓库 git clone <url>

推荐学习资源

  • Pro Git 书籍:Git 官方免费书籍,内容权威详尽,有中文版。
  • Learn Git Branching:通过交互式可视化游戏学习 Git 分支,强烈推荐!
  • GitHub Guides:GitHub 官方提供的各种指南。

希望这份教程对你有帮助!如果在实践中遇到问题,善用 git status 和搜索引擎,大部分问题都能找到答案。

分享:
扫描分享到社交APP
上一篇
下一篇