一文搞懂GIT
1. GiT概述
1.1 GIT概述
Git 是一个分布式版本控制系统,被广泛应用于软件开发中。
Git 具有众多优点,比如:
- 分布式特性:开发人员可以在本地拥有完整的代码库历史,即使离线也能进行大部分操作。
- 强大的分支管理:创建、合并和删除分支都非常便捷,且不会影响其他分支的工作。
- 高效的协作:多个开发者可以方便地共享和合并彼此的代码更改。
例如,在一个大型团队开发项目中,不同的开发者可以基于 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 创建一个新的提交以撤销指定的提交。
原文地址:https://blog.csdn.net/weixin_46965089/article/details/140821134
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!