Git 是一个分布式版本控制系统,广泛应用于软件开发中。它允许开发者跟踪文件的更改、协同工作并轻松回滚到以前的版本。本篇文章将介绍一些常用的 Git 基础命令,帮助你入门 Git 并将其应用于你的项目。

1. 初始化仓库

要开始使用 Git,你首先需要一个 Git 仓库。有两种方法可以创建仓库:

  • git init: 将现有项目转换为 Git 仓库。

    1
    2
    cd /path/to/your/project
    git init

    这将在你的项目目录中创建一个名为 .git 的隐藏子目录,其中包含 Git 仓库的所有必需文件。

  • git clone: 克隆远程仓库到本地。

    1
    git clone <repository URL>

    例如,要克隆 GitHub 上的一个仓库:

    1
    git clone https://github.com/username/repository.git

    这将在当前目录下创建一个与远程仓库同名的文件夹,并将所有内容下载到本地。

2. 基本配置

在使用 Git 之前,建议配置你的用户名和邮箱。这些信息将用于标识你的提交:

1
2
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

你可以使用以下命令查看你的配置:

1
git config --list

3. 添加和提交更改

Git 通过“暂存区” (staging area) 来跟踪文件的更改。要将更改提交到仓库,你需要先将它们添加到暂存区,然后进行提交。

  • git status: 查看当前仓库的状态,包括哪些文件被修改、添加或删除。

    1
    git status
  • git add: 将文件添加到暂存区。

    • 添加特定文件:

      1
      git add file1.txt file2.js
    • 添加当前目录下的所有更改:

      1
      git add .
    • 添加所有更改 (包括已删除的文件):

      1
      git add -A
  • git commit: 将暂存区的更改提交到仓库。

    1
    git commit -m "Your commit message here"

    -m 参数用于指定提交信息,描述你所做的更改。请确保你的提交信息清晰、简洁且具有描述性。

4. 查看历史记录

  • git log: 查看提交历史记录。

    1
    git log

    这将显示提交的哈希值、作者、日期和提交信息。

    • git log --oneline: 以简洁的一行格式显示提交历史。
    • git log -p: 显示每个提交的详细更改内容。
    • git log --graph: 以图形方式显示分支和合并历史。
  • git diff: 查看工作区与暂存区之间的差异。

    1
    git diff
  • git diff <commit1> <commit2>: 查看两个提交之间的差异。

    1
    git diff HEAD^ HEAD  # 查看最近一次提交和上一次提交的差异

5. 分支管理

分支是 Git 的强大功能,允许你在不影响主线开发的情况下进行实验性的更改。

  • git branch: 列出所有分支。

    1
    git branch

    当前分支前面会有一个星号 *

  • git branch <branch_name>: 创建一个新分支。

    1
    git branch develop
  • git checkout <branch_name>: 切换到指定分支。

    1
    git checkout develop
  • git checkout -b <branch_name>: 创建并切换到新分支。

    1
    git checkout -b feature/new-feature
  • git merge <branch_name>: 将指定分支合并到当前分支。

    1
    2
    git checkout main
    git merge develop
  • git branch -d <branch_name>: 删除指定分支 (必须先合并)。

    1
    git branch -d develop
  • git branch -D <branch_name>: 强制删除指定分支 (即使未合并)。

    1
    git branch -D feature/experimental

6. 远程仓库

远程仓库是存储在服务器上的仓库,团队成员可以共享和协作。

  • git remote: 列出所有远程仓库。

    1
    git remote
  • git remote add <name> <url>: 添加一个远程仓库。

    1
    git remote add origin https://github.com/username/repository.git

    通常将远程仓库命名为 origin

  • git push <remote_name> <branch_name>: 将本地分支推送到远程仓库。

    1
    git push origin main
  • git pull <remote_name> <branch_name>: 从远程仓库拉取并合并更改到本地分支。

    1
    git pull origin main
  • git fetch <remote_name>: 从远程仓库获取最新更改,但不合并到本地分支。

    1
    git fetch origin

7. 撤销更改

  • git restore <file>: 放弃工作区中对文件的修改

    1
    git restore modified_file.txt
  • git restore --staged <file>: 取消暂存文件

    1
    git restore --staged staged_file.txt
  • git reset HEAD^: 回退到上一个提交状态,并将更改保留在工作区。

  • git reset --hard HEAD^: 回退到上一个提交状态,并丢弃工作区所有更改。谨慎使用!

8. 总结

本篇文章介绍了 Git 的一些最常用的基础命令,包括初始化仓库、添加和提交更改、查看历史记录、分支管理和远程仓库操作。掌握这些命令是使用 Git 进行版本控制的基础。Git 还有许多高级功能,例如标签、子模块和交互式变基等,建议你进一步学习和探索。

9. 学习资源

希望这篇文章能够帮助你入门 Git!