您的位置:首页 > 科技 > IT业 > 一文搞懂GIT

一文搞懂GIT

2024/11/15 21:13:15 来源:https://blog.csdn.net/weixin_46965089/article/details/140821134  浏览:    关键词:一文搞懂GIT

文章目录

  • 1. GiT概述
    • 1.1 GIT概述
    • 1.2 GIT安装
  • 2. GIT组成
  • 3. GIT基本命令
    • 3.1 基本命令
    • 3.2 分支操作
    • 3.3 远程操作
    • 3.4 标签操作
    • 3.5 其他命令

1. GiT概述

1.1 GIT概述

Git 是一个分布式版本控制系统,被广泛应用于软件开发中。

Git 具有众多优点,比如:

  1. 分布式特性:开发人员可以在本地拥有完整的代码库历史,即使离线也能进行大部分操作。
  2. 强大的分支管理:创建、合并和删除分支都非常便捷,且不会影响其他分支的工作。
  3. 高效的协作:多个开发者可以方便地共享和合并彼此的代码更改。

例如,在一个大型团队开发项目中,不同的开发者可以基于 Git 创建自己的特性分支进行开发工作,完成后将分支合并到主分支。而且,如果在开发过程中出现错误,通过 Git 的版本回退功能,可以轻松回到之前的正确版本。

Git 的常用命令包括
git init 用于初始化一个新的代码库
git clone 用于克隆远程代码库
git add用于将更改添加到暂存区
git commit 用于提交更改等等。

1.2 GIT安装

Windows 系统:
访问 Git 官方网站(https://git-scm.com/)。
点击“Download for Windows”下载适合 Windows 的安装程序。
运行安装程序,按照默认设置进行安装,或者根据您的需求自定义安装路径等选项。

Mac 系统:
可以通过两种常见方式安装:
从 Git 官方网站下载安装包进行安装。
使用 Homebrew 命令行工具进行安装,在终端中输入 brew install git 。

Linux 系统(基于 Debian 或 Ubuntu):
在终端中输入以下命令:

sudo apt-get update
sudo apt-get install git

安装完成后,您可以在终端中输入 git --version 来验证是否安装成功,并查看安装的 Git 版本。

2. GIT组成

Git 是一个分布式版本控制系统,具有复杂但灵活的组成部分。理解 Git 的组成部分有助于你更好地利用其功能。Git 主要由以下几个核心组成部分构成:

工作区(Working Directory) 这是您直接操作和编辑文件的地方,就是您项目所在的本地目录。

**暂存区(Staging Area,也称为 Index):**工作区中的修改可以通过 git add 命令添加到暂存区,文件的当前状态会被记录到暂存区。当你执行 git commit 时,Git 会将暂存区中的文件快照作为一个新的提交保存到本地仓库。

本地仓库(Local Repository)
本地仓库是你在本地计算机上保存 Git 项目历史记录的地方。它包含了项目的所有版本历史。每次你执行 git commit 时,提交记录会被保存到本地仓库。
本地仓库主要由两个部分组成:

.git 目录:这是 Git 存储项目历史和元数据的地方。它包含了多个重要的子目录和文件:
objects:存储所有的对象(如提交、树、blob 等)。这些对象以 SHA-1 哈希值为名称进行存储。
refs:存储指向提交对象的引用,如分支和标签。常见的子目录包括 heads(本地分支)和 tags(标签)。
HEAD:指向当前检出分支的指针。它记录了当前分支或提交的位置。 config:项目的配置文件,存储有关 Git 仓库的设置,如远程仓库
URL 和分支设置。 description:存储仓库的简短描述(通常用于 GitWeb 等工具)。

远程仓库(Remote Repository):通常位于网络上的服务器上,如 GitHub、GitLab 等。可以通过 git push 将本地的提交推送到远程仓库,实现与其他开发者的代码共享和协作。

提交 (Commit)
提交是 Git 中的核心概念之一。每次你执行 git commit,Git 会将暂存区中的文件快照保存为一个新的提交。每个提交都有一个唯一的 SHA-1 哈希值,用来标识这个提交。提交包含以下信息:

树对象:代表项目的文件和目录结构。
父提交:指向前一个提交的引用(合并提交有多个父提交)。
作者信息:提交者的姓名和邮箱。
提交信息:对提交所做更改的描述。

分支 (Branch)
分支是 Git 中用于并行开发的机制。分支允许你在不影响主线开发的情况下进行实验和开发。常见的分支操作包括:

创建分支:git branch
切换分支:git checkout
合并分支:git merge

标签 (Tag)
标签是 Git 中用于标记特定提交的机制,通常用于标记发布版本或重要的里程碑。标签是一个对提交的引用,标签有两个类型:

轻量标签:简单的指针,类似于分支但不具有版本历史。
注释标签:包含额外的元数据,如标签名称、标签人和标签信息。

合并 (Merge) 和变基 (Rebase)
合并:将一个分支的更改集成到当前分支,通常使用 git merge 命令。
变基:将一个分支的更改重新应用到另一分支的顶部,通常使用 git rebase 命令。变基可以保持提交历史线性,但在处理公共分支时要小心。

3. GIT基本命令

3.1 基本命令

git init: 初始化一个新的 Git 仓库。
git clone 克隆一个远程仓库到本地。
git status 显示当前工作目录和暂存区的状态。
git add 将文件添加到暂存区。
git commit -m “message” 提交暂存区的文件到本地仓库
git log 查看提交历史。
git diff 查看文件修改的差异。
git reset 从暂存区移除文件。

3.2 分支操作

git branch 列出、创建或删除分支。

git branch        # 列出本地分支
git branch <name> # 创建新分支
git branch -d <name> # 删除分支

git checkout 切换到指定的分支。
git checkout -b 创建并切换到一个新分支。
git merge 将指定的分支合并到当前分支。

3.3 远程操作

git remote -v 查看远程仓库信息。

git remote add 添加一个新的远程仓库。

git fetch 从远程仓库下载新数据,但不合并。

git pull 从远程仓库拉取数据并合并到当前分支

git push 将本地分支推送到远程仓库。

git push --set-upstream 设置上游分支并推送。

3.4 标签操作

git tag 列出所有标签。

git tag 创建一个新的标签。

git tag -d 删除一个标签。

git push origin 将标签推送到远程仓库。

3.5 其他命令

git stash 暂时保存未提交的更改。
git stash apply 恢复上次存储的更改。
git rebase 将当前分支的提交变基到指定分支上。
git cherry-pick 从一个分支中选择特定的提交并将其应用到当前分支。
git revert 创建一个新的提交以撤销指定的提交。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com