返回

超实用,超详细,一看就懂的 git 教程!

前端

前言

Git 是一款分布式版本控制系统,它允许开发者跟踪代码库中的所有修改,并轻松地在不同版本之间切换。Git 是非常强大的工具,但对于初学者来说,它可能会有点让人望而生畏。

本文将力求实用、详细、易懂,结合工作场景,将工作中遇到的最常用的 git 相关知识点做一总结。既是对 git 相关知识体系的一次梳理,又能分享给有需要的小伙伴进行学习提升。

注意: 本文假定您已经安装了 Git 并对基本概念有所了解。如果您不熟悉 Git,建议您先阅读官方文档或其他入门教程。

Git 基础

Git 是一个分布式版本控制系统,这意味着每个开发者都有自己完整的代码库副本。这与传统的集中式版本控制系统(如 SVN)不同,在集中式版本控制系统中,只有一个中央服务器存储代码库,而开发者只能从中央服务器上获取代码。

Git 的分布式特性带来了许多好处,例如:

  • 提高了代码库的可靠性:如果中央服务器发生故障,开发者仍然可以从其他开发者那里获取代码。
  • 提高了代码库的可移植性:开发者可以轻松地将代码库从一台电脑克隆到另一台电脑上。
  • 提高了代码库的协作性:多个开发者可以同时在同一个代码库上工作,而不会互相干扰。

Git 分支

分支是 Git 中的一个重要概念。分支允许开发者在不影响主代码库的情况下,对代码库进行修改。例如,开发者可以创建一个分支来修复一个 bug,而无需将修复过程中的代码合并到主代码库中。

要创建一个分支,可以使用以下命令:

git branch <branch-name>

例如,要创建一个名为 "bugfix" 的分支,可以使用以下命令:

git branch bugfix

要切换到另一个分支,可以使用以下命令:

git checkout <branch-name>

例如,要切换到 "bugfix" 分支,可以使用以下命令:

git checkout bugfix

Git 远程操作

远程操作允许开发者将代码库推送到远程服务器上,例如 GitHub 或 Bitbucket。这使得开发者可以与其他开发者共享代码库,并方便地进行协作。

要将代码库推送到远程服务器上,可以使用以下命令:

git push <remote-name> <branch-name>

例如,要将代码库推送到 GitHub 上的 "main" 分支,可以使用以下命令:

git push origin main

要从远程服务器上拉取代码,可以使用以下命令:

git pull <remote-name> <branch-name>

例如,要从 GitHub 上的 "main" 分支拉取代码,可以使用以下命令:

git pull origin main

Git 仓库管理

Git 仓库是代码库的存储库。仓库包含代码库的所有历史记录,包括所有提交、分支和标签。

要创建仓库,可以使用以下命令:

git init

要查看仓库的状态,可以使用以下命令:

git status

要提交代码到仓库,可以使用以下命令:

git commit -m "<commit-message>"

例如,要提交一个名为 "修复 bug" 的提交,可以使用以下命令:

git commit -m "修复 bug"

要查看提交历史,可以使用以下命令:

git log

Git 变更追踪

Git 会自动跟踪代码库中的所有文件。当您修改了一个文件时,Git 会将该文件标记为已修改。要查看已修改的文件,可以使用以下命令:

git status

要将已修改的文件添加到暂存区,可以使用以下命令:

git add <file-name>

例如,要将 "README.md" 文件添加到暂存区,可以使用以下命令:

git add README.md

要提交暂存区中的文件,可以使用以下命令:

git commit -m "<commit-message>"

例如,要提交一个名为 "修复 bug" 的提交,可以使用以下命令:

git commit -m "修复 bug"

Git 解决冲突

当多个开发者同时修改同一个文件时,可能会发生冲突。要解决冲突,可以使用以下步骤:

  1. 找到冲突的文件。
  2. 打开冲突的文件,并查看冲突的代码段。
  3. 手动解决冲突,并保存文件。
  4. 将冲突的文件添加到暂存区。
  5. 提交暂存区中的文件。

Git 提交和回滚

当您对代码库进行修改并提交后,您可能会发现需要回滚到以前的提交。要回滚到以前的提交,可以使用以下步骤:

  1. 找到要回滚到的提交。
  2. 使用以下命令回滚到该提交:
git reset --hard <commit-ish>

例如,要回滚到最近一次提交,可以使用以下命令:

git reset --hard HEAD~1

Git 撤销修改

如果您对代码库进行了一些修改,但还没有提交,您可以使用以下命令撤销这些修改:

git checkout -- <file-name>

例如,要撤销对 "README.md" 文件的修改,可以使用以下命令:

git checkout -- README.md

Git 团队协作

Git 是一个非常适合团队协作的工具。多个开发者可以同时在同一个代码库上工作,而不会互相干扰。要进行团队协作,可以使用以下步骤:

  1. 创建一个远程仓库。
  2. 将本地代码库克隆到每个开发者的电脑上。
  3. 开发者在自己的本地代码库中进行修改。
  4. 开发者将修改推送到远程仓库。
  5. 其他开发者从远程仓库中拉取修改。

Git 常见问题

以下是一些常见的 Git 问题及其解决方案:

  • 问题: 我无法克隆远程仓库。
    • 解决方案: 确保您有权访问远程仓库。
  • 问题: 我无法推送代码到远程仓库。
    • 解决方案: 确保您有权推送代码到远程仓库。
  • 问题: 我遇到了合并冲突。
    • 解决方案: 使用以下步骤解决合并冲突:
      1. 找到冲突的文件。
      2. 打开冲突的文件,并查看冲突的代码段。
      3. 手动解决冲突,并保存文件。
      4. 将冲突的文件添加到暂存区。
      5. 提交暂存区中的文件。
  • 问题: 我想要回滚到以前的提交。
    • 解决方案: 使用以下步骤回滚到以前的提交:
      1. 找到要回滚到的提交。
      2. 使用以下命令回滚到该提交:
git reset --hard <commit-ish>
  • 问题: 我想要撤销对代码库的修改。
    • 解决方案: 使用以下命令撤销对代码库的修改:
git checkout -- <file-name>

结语

以上就是 Git 的一些基本知识和操作。希望这篇文章对您有所帮助。如果您有任何问题,请随时留言。