版本管理基础:Git命令详解_git

让我们一起走向未来

🎓作者简介:全栈领域优质创作者
🌐个人主页:百锦再@新空间代码工作室
💡座右铭:坚持自己的坚持,不要迷失自己!要快乐


版本管理基础:Git命令详解_大数据_02


目录

  • 让我们一起走向未来
  • 一、Git的基本概念
  • 1.1 Git工作区(Working Directory)
  • 1.2 Git版本库(Repository)
  • 1.3 Git暂存区(Staging Area)
  • 二、Git的基本命令
  • 2.1 安装和初始化Git
  • 2.2 Git的工作流程
  • 2.3 分支操作
  • 2.4 远程仓库操作
  • 2.5 标签操作
  • 2.6 Git配置与其他常用命令
  • 三、Git的高级操作
  • 3.1 Git rebase
  • 3.2 Git cherry-pick
  • 3.3 Git stash


Git是一个分布式版本控制系统,用于跟踪计算机文件的更改,尤其是源代码文件的版本管理。Git使得多个开发人员能够在同一个项目中并行工作,并能够有效地协作管理版本、代码合并、分支和变更记录等。

版本管理基础:Git命令详解_elasticsearch_03

一、Git的基本概念

1.1 Git工作区(Working Directory)

工作区就是我们本地的项目目录,它包含所有的文件。所有正在开发和修改的文件都处于工作区。

版本管理基础:Git命令详解_elasticsearch_04

1.2 Git版本库(Repository)

版本库是用来存储项目历史版本信息的地方。在Git中,版本库有两个区域:

  • 本地版本库:存储在本地计算机上的Git仓库。每个Git项目都有一个.git目录,它包含了项目的所有历史版本信息。
  • 远程版本库:存储在远程服务器上的版本库,用于多人协作开发。Git支持多种远程仓库,包括GitHub、GitLab、Bitbucket等。
1.3 Git暂存区(Staging Area)

暂存区是Git用来存放即将提交到版本库中的文件的地方。我们将修改后的文件放入暂存区,通过Git提交后才会正式保存到本地版本库。

二、Git的基本命令

版本管理基础:Git命令详解_远程仓库_05

2.1 安装和初始化Git
  • 安装Git:根据操作系统选择安装方式。
  • Windows:可以通过Git官网下载并安装。
  • MacOS:通过Homebrew安装:brew install git
  • Linux:使用包管理工具,如:sudo apt-get install git(Ubuntu/Debian)或sudo yum install git(CentOS)。
  • 配置Git:Git需要配置用户名和邮箱,以便在提交时标明提交者身份。
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
  • 初始化一个Git仓库
    使用git init命令初始化一个Git版本库。执行此命令后,会在当前目录下创建一个.git目录,它是Git的工作目录。
git init
2.2 Git的工作流程

Git的工作流程通常包括以下几个步骤:编辑文件、将文件加入暂存区、提交到本地版本库、推送到远程仓库。

  • 查看当前状态:用来查看文件的当前状态,哪些文件已修改、哪些文件已暂存等。
git status
  • 查看版本日志:查看提交历史。
git log
  • 添加文件到暂存区:修改文件后,使用git add将文件添加到暂存区。
git add <file>
git add .  # 添加当前目录下的所有文件
  • 提交到本地版本库:将暂存区的修改提交到本地仓库。每次提交都需要一个提交信息,说明这次提交的目的。
git commit -m "提交信息"
  • 推送到远程仓库:将本地的修改推送到远程仓库,以便其他开发者拉取最新代码。
git push origin <branch-name>
2.3 分支操作

分支是Git中非常强大的功能,可以让你在同一个项目中独立开发不同的功能。每个分支都是一条独立的开发线。

  • 查看分支:查看当前项目的所有分支。
git branch
  • 创建新分支:创建一个新的分支。
git branch <branch-name>
  • 切换分支:切换到指定分支。
git checkout <branch-name>
  • 创建并切换分支:通过-b选项创建新分支并切换。
git checkout -b <branch-name>
  • 合并分支:将一个分支的修改合并到当前分支。假设你在master分支上工作,想要合并dev分支的修改,可以使用:
git merge dev
  • 删除分支:删除一个不再需要的分支。
git branch -d <branch-name>  # 删除已合并的分支
git branch -D <branch-name>  # 强制删除分支
2.4 远程仓库操作

远程仓库是多人协作开发时使用的仓库。常见的远程仓库平台有GitHub、GitLab、Bitbucket等。

  • 查看远程仓库:查看当前Git仓库连接的远程仓库。
git remote -v
  • 添加远程仓库:将一个远程仓库添加到本地Git仓库中。
git remote add origin <repository-url>
  • 从远程仓库拉取代码:将远程仓库中的代码拉取到本地仓库。
git pull origin <branch-name>
  • 推送本地代码到远程仓库:将本地的提交推送到远程仓库。
git push origin <branch-name>
  • 删除远程仓库的分支
git push origin --delete <branch-name>
2.5 标签操作

Git标签(Tag)通常用于标记某个特定版本点,如版本发布。标签有轻量标签和附注标签两种类型。

  • 创建标签
  • 轻量标签:直接为某个提交创建标签。
git tag <tag-name>
  • 附注标签:创建带有标签说明信息的标签。
git tag -a <tag-name> -m "Tag description"
  • 查看标签
git tag
  • 推送标签到远程仓库
git push origin <tag-name>
  • 删除本地标签
git tag -d <tag-name>
  • 删除远程标签
git push origin --delete <tag-name>
2.6 Git配置与其他常用命令
  • 配置别名:为了提高效率,可以设置Git命令的别名。
git config --global alias.st status
git config --global alias.ci commit
  • 配置忽略文件:可以创建一个.gitignore文件来告诉Git忽略某些文件或文件夹(例如,临时文件、编译结果等)。
    .gitignore示例:
*.log
*.tmp
/node_modules
  • 配置用户名和邮箱:Git需要配置每次提交的用户名和邮箱。
git config user.name "Your Name"
git config user.email "your-email@example.com"
  • 查看配置信息
git config --list

三、Git的高级操作

版本管理基础:Git命令详解_elasticsearch_06

3.1 Git rebase

git rebase用于将一个分支的更改应用到另一个分支上。与git merge不同,git rebase会在应用更改时进行合并,保留更加简洁的提交历史。

  • 基本用法
git rebase <branch-name>
  • 交互式变基git rebase -i允许你在变基时进行交互,修改提交信息、合并提交等。
git rebase -i <commit-hash>
3.2 Git cherry-pick

git cherry-pick命令允许你选择并应用某个提交到当前分支,通常用于从其他分支中选择特定的提交。

  • 基本用法
git cherry-pick <commit-hash>
3.3 Git stash

git stash命令用于将当前工作区的修改暂时保存起来,清理工作区,以便切换到其他分支工作。之后可以恢复暂存的修改。

  • 保存当前修改
git stash
  • 查看暂存的修改
git stash list
  • 恢复暂存的修改
git stash apply
  • 清除暂存区
git stash drop
### 四、Git工作流
![在这里插入图片描述]()

#### 4.1 Git Flow

Git Flow是一种基于Git的工作流,适用于大多数软件开发项目。它定义了几个常见的分支和它们的用途:

- **master**:主要分支,存放生产环境的代码。
- **develop**:开发分支,开发人员在此分支上进行工作。
- **feature**:特性分支,用于开发新特性。
- **release**:发布分支,用于准备发布版本。
- **hotfix**:修复分支,用于快速修复生产环境中的问题。

#### 4.2 GitHub Flow

GitHub Flow是一种简化的Git工作流,通常用于持续集成(CI)环境,特别适用于以Pull Request(PR)为核心的工作方式。其核心思想是,每个特性、bug修复或者改动都在单独的分支上进行开发,开发完成后通过PR合并。

### 五、总结

Git是一个非常强大的版本控制工具,它不仅能帮助开发者管理代码的历史版本,还能在团队协作时提供许多便捷的功能。通过本文对Git命令的详细介绍,相信你已经对Git有了更全面的了解。无论是Git的基础命令、分支管理还是远程仓库操作,都可以根据实际需要灵活使用。