Skip to content

Git 快速上手

本章将通过一个简单的实例,让你在 5 分钟内体验 Git 的基本功能,快速了解 Git 的工作方式。

准备工作

确保你已经:

  • ✅ 安装了 Git
  • ✅ 配置了用户名和邮箱
  • ✅ 有一个可以使用的终端或命令行

第一个 Git 仓库

1. 创建项目文件夹

bash
# 创建一个新的项目文件夹
mkdir my-first-git-project
cd my-first-git-project

2. 初始化 Git 仓库

bash
# 初始化 Git 仓库
git init

# 你会看到类似输出:
# Initialized empty Git repository in /path/to/my-first-git-project/.git/

🎉 恭喜!你刚刚创建了你的第一个 Git 仓库。

3. 查看仓库状态

bash
# 查看当前仓库状态
git status

输出类似:

On branch main

No commits yet

nothing to commit (create/copy files and use "git add" to track)

创建和跟踪文件

1. 创建第一个文件

bash
# 创建一个简单的文本文件
echo "# 我的第一个 Git 项目" > README.md
echo "这是一个学习 Git 的练习项目。" >> README.md

2. 查看状态变化

bash
git status

输出:

On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README.md

nothing added to commit but untracked files present (use "git add" to track)

📝 解释:Git 发现了新文件 README.md,但还没有开始跟踪它。

3. 添加文件到暂存区

bash
# 添加文件到暂存区
git add README.md

# 再次查看状态
git status

输出:

On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

解释:文件现在在暂存区,准备被提交。

第一次提交

1. 创建提交

bash
# 创建第一次提交
git commit -m "添加 README 文件"

输出:

[main (root-commit) a1b2c3d] 添加 README 文件
 1 file changed, 2 insertions(+)
 create mode 100644 README.md

🎊 恭喜:你完成了第一次提交!

2. 查看提交历史

bash
# 查看提交历史
git log

输出:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0 (HEAD -> main)
Author: 你的姓名 <your.email@example.com>
Date:   Mon Jan 1 12:00:00 2024 +0800

    添加 README 文件

修改和更新文件

1. 修改文件

bash
# 向文件添加更多内容
echo "" >> README.md
echo "## 学习内容" >> README.md
echo "- Git 基础操作" >> README.md
echo "- 版本控制概念" >> README.md

2. 查看修改

bash
# 查看文件状态
git status

输出:

On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md

no changes added to commit (use "git add" or "git commit -a")
bash
# 查看具体修改内容
git diff

输出:

diff
diff --git a/README.md b/README.md
index 1234567..abcdefg 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,5 @@
 # 我的第一个 Git 项目
 这是一个学习 Git 的练习项目。
+
+## 学习内容
+- Git 基础操作
+- 版本控制概念

3. 提交修改

bash
# 添加修改到暂存区
git add README.md

# 提交修改
git commit -m "添加学习内容列表"

查看项目历史

1. 查看提交历史

bash
# 查看详细历史
git log

# 查看简洁历史
git log --oneline

简洁输出:

b2c3d4e 添加学习内容列表
a1b2c3d 添加 README 文件

2. 查看文件变化

bash
# 查看两次提交之间的差异
git diff a1b2c3d b2c3d4e

# 查看特定提交的内容
git show b2c3d4e

创建更多文件

让我们创建一个更复杂的项目结构:

1. 创建代码文件

bash
# 创建一个简单的 Python 脚本
cat > hello.py << EOF
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def main():
    print("Hello, Git!")
    print("这是我的第一个 Git 项目")

if __name__ == "__main__":
    main()
EOF

2. 创建配置文件

bash
# 创建 .gitignore 文件
cat > .gitignore << EOF
# Python
__pycache__/
*.pyc
*.pyo
*.pyd
.Python

# 编辑器
.vscode/
.idea/
*.swp
*.swo

# 系统文件
.DS_Store
Thumbs.db
EOF

3. 一次性添加多个文件

bash
# 查看当前状态
git status

# 添加所有新文件
git add .

# 查看暂存区状态
git status

# 提交所有修改
git commit -m "添加 Python 脚本和 .gitignore 文件"

分支基础操作

1. 查看分支

bash
# 查看当前分支
git branch

# 输出:
# * main

2. 创建新分支

bash
# 创建并切换到新分支
git checkout -b feature/add-greeting

# 或者使用新语法(Git 2.23+)
# git switch -c feature/add-greeting

3. 在新分支上工作

bash
# 修改 Python 文件
cat > hello.py << EOF
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def greet(name):
    return f"Hello, {name}!"

def main():
    name = input("请输入你的名字: ")
    greeting = greet(name)
    print(greeting)
    print("欢迎来到 Git 的世界!")

if __name__ == "__main__":
    main()
EOF

# 提交修改
git add hello.py
git commit -m "添加交互式问候功能"

4. 切换回主分支

bash
# 切换回 main 分支
git checkout main

# 查看文件内容(会发现是旧版本)
cat hello.py

5. 合并分支

bash
# 合并 feature 分支到 main
git merge feature/add-greeting

# 查看合并后的文件
cat hello.py

# 删除已合并的分支
git branch -d feature/add-greeting

远程仓库体验

1. 连接到 GitHub(可选)

如果你有 GitHub 账号,可以体验远程仓库:

bash
# 在 GitHub 上创建一个新仓库(通过网页)
# 然后添加远程仓库
git remote add origin https://github.com/你的用户名/my-first-git-project.git

# 推送到远程仓库
git push -u origin main

2. 模拟协作(本地)

bash
# 创建一个"协作者"的克隆
cd ..
git clone my-first-git-project collaborator-project
cd collaborator-project

# 模拟协作者的修改
echo "- 分支管理" >> README.md
git add README.md
git commit -m "协作者添加:分支管理学习内容"

# 回到原项目
cd ../my-first-git-project

# 模拟从远程拉取更新
git pull ../collaborator-project main

实用技巧演示

1. 查看美化的日志

bash
# 使用别名查看美化的日志(如果之前配置了)
git lg

# 或者直接使用完整命令
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

2. 撤销操作演示

bash
# 创建一个错误的修改
echo "这是一个错误的修改" >> README.md

# 查看状态
git status

# 撤销工作区的修改
git restore README.md

# 或者使用旧语法
# git checkout -- README.md

3. 暂存区操作

bash
# 修改文件
echo "临时修改" >> hello.py

# 添加到暂存区
git add hello.py

# 从暂存区移除(但保留工作区修改)
git restore --staged hello.py

# 查看状态
git status

项目总结

让我们看看我们完成了什么:

bash
# 查看最终的项目结构
ls -la

# 查看完整的提交历史
git log --oneline --graph --all

# 查看项目统计
git log --stat

你的项目现在应该包含:

  • 📄 README.md - 项目说明文件
  • 🐍 hello.py - Python 脚本
  • 🚫 .gitignore - Git 忽略文件
  • 📁 .git/ - Git 仓库数据(隐藏文件夹)

快速参考卡片

基本命令速查

bash
# 仓库操作
git init                    # 初始化仓库
git clone <url>            # 克隆仓库
git status                 # 查看状态

# 文件操作
git add <file>             # 添加文件到暂存区
git add .                  # 添加所有文件
git commit -m "message"    # 提交修改
git diff                   # 查看修改

# 历史查看
git log                    # 查看提交历史
git log --oneline         # 简洁历史
git show <commit>         # 查看特定提交

# 分支操作
git branch                # 查看分支
git checkout -b <branch>  # 创建并切换分支
git merge <branch>        # 合并分支
git branch -d <branch>    # 删除分支

Git 工作流程图

工作区 (Working Directory)
    ↓ git add
暂存区 (Staging Area)
    ↓ git commit
本地仓库 (Local Repository)
    ↓ git push
远程仓库 (Remote Repository)

下一步学习

通过这个快速上手教程,你已经体验了:

  • ✅ 创建和初始化 Git 仓库
  • ✅ 添加和提交文件
  • ✅ 查看历史和状态
  • ✅ 基本的分支操作
  • ✅ 文件修改和撤销

在接下来的章节中,我们将深入学习:

  • Git 的工作流程原理
  • 工作区、暂存区和版本库的概念
  • 更多的分支管理技巧
  • 远程仓库协作
  • 高级 Git 操作

练习建议

  1. 重复操作:多次练习基本的 add、commit 流程
  2. 实验分支:创建更多分支,尝试不同的合并场景
  3. 查看历史:使用不同的 git log 参数查看历史
  4. 故意犯错:尝试各种撤销操作,学会修复错误

记住:Git 是一个非常安全的系统,大部分操作都可以撤销,所以不要害怕尝试!

本站内容仅供学习和研究使用。