目录

Git-常用命令指南

Git 常用命令指南

本文档旨在提供 Git 的常用命令及其使用示例,涵盖全局参数配置、获取本地仓库、基本概念、本地仓库操作、远程仓库操作和分支操作等内容。


1 全局参数配置

Git 允许用户配置全局参数,以便在所有的仓库中共享这些设置。

设置用户名

git config –global user.name “Your Name”

设置邮箱

git config –global user.email “ ”

查看所有配置

git config –list

查看特定配置

git config user.name

设置默认编辑器为 VSCode

git config –global core.editor “code –wait”

设置默认的合并工具

git config –global merge.tool vscode

启用颜色输出

git config –global color.ui auto


2 获取本地仓库

初始化仓库

在当前目录初始化一个新的 Git 仓库

git init

克隆仓库

克隆远程仓库到本地

git clone

克隆指定分支

git clone -b


3 基本概念

Git 是一个分布式版本控制系统,用于跟踪文件的变化并协作开发。为了更好地理解 Git 的工作机制,以下是 Git 中的一些核心概念:

3.1 工作区(Working Directory).git所在目录就是工作区

https://i-blog.csdnimg.cn/direct/3fcd5018edd74f298a025ce8009463b6.png

  • 工作区是用户当前正在编辑的目录,包含项目的所有文件和文件夹。
  • 工作区中的文件可以是未跟踪的文件(未被 Git 管理)或已跟踪的文件(已纳入 Git 管理)。
  • 在工作区中修改文件后,需要通过 git add 将更改添加到暂存区。

3.2 暂存区(Staging Area / Index)

  • 暂存区是一个临时区域,用于保存用户打算提交的更改。
  • 通过 git add 命令将工作区中的修改添加到暂存区。
  • 暂存区允许用户选择性地提交某些更改,而不是一次性提交所有修改。
  • 可以通过 git status 查看暂存区和工作区的状态。

3.3 本地仓库(Local Repository)

  • 本地仓库是 Git 存储项目历史记录的地方,通常位于项目根目录下的 .git 文件夹中。
  • 每次通过 git commit 提交更改时,Git 会将暂存区的内容保存到本地仓库,并生成一个唯一的提交记录(Commit)。
  • 本地仓库包含了项目的完整历史记录、分支信息、标签等。
  • https://i-blog.csdnimg.cn/direct/65c5d184fc1547b387bdf800652f580c.png

3.4 提交(Commit)

  • 提交是 Git 中的一个基本单位,代表一次对项目的更改。
  • 每次提交都会生成一个唯一的 SHA-1 哈希值,用于标识该提交。
  • 提交包含以下信息:
  • 作者和提交者的信息。
  • 提交的时间戳。
  • 提交的更改内容(通过 diff 查看)。
  • 提交的注释信息(通过 git commit -m 添加)。
  • https://i-blog.csdnimg.cn/direct/af02e4a9c1fd4f628608ac2a033fbf02.png

3.5 远程仓库(Remote Repository)

  • 远程仓库是托管在服务器上的 Git 仓库,用于团队协作和代码共享。
  • 通过 git clone 命令将远程仓库克隆到本地,或者通过 git remote add 添加新的远程仓库。
  • 通过 git push 将本地仓库的更改推送到远程仓库,通过 git pullgit fetch 获取远程仓库的更改。
  • 常见的远程仓库托管平台包括 GitHub、GitLab 和 Bitbucket。

3.6 分支(Branch)

  • 分支是 Git 中用于并行开发的核心功能。
  • 默认情况下,Git 会创建一个 mastermain 分支。
  • 每个分支代表一个独立的开发线,可以在分支上进行修改而不影响其他分支。
  • 通过 git branch 创建新分支,通过 git checkout 切换分支,通过 git merge 合并分支。
  • 分支的轻量级特性使得 Git 在并行开发中非常高效。

3.7 标签(Tag)

  • 标签是 Git 中用于标记特定提交的功能,通常用于发布版本(如 v1.0.0)。
  • 标签分为轻量标签(Lightweight Tag)和附注标签(Annotated Tag)。
  • 轻量标签:只是一个指向特定提交的指针。
  • 附注标签:包含额外的信息,如标签名、作者、日期和注释。
  • 通过 git tag 创建标签,通过 git push --tags 将标签推送到远程仓库。

3.8 HEAD

  • HEAD 是一个指针,指向当前工作区所在的分支或提交。
  • 通常情况下,HEAD 指向当前分支的最新提交。
  • 通过 git checkout 可以分离 HEAD,使其直接指向某个提交而不是分支。

4 本地仓库操作

查看状态

查看当前仓库状态

git status

添加文件到暂存区

添加单个文件

git add

添加所有文件

git add .

提交更改

提交到本地仓库

git commit -m “Commit message”

提交并跳过暂存区

git commit -a -m “Commit message”

查看提交历史

查看提交历史

git log

查看简洁的提交历史

git log –oneline

查看某个文件的修改历史

git log

撤销更改

撤销工作区的更改

git checkout –

撤销暂存区的更改

git reset HEAD

修改最后一次提交

git commit –amend

删除文件

从 Git 和文件系统中删除文件

git rm

从 Git 中删除文件,但保留在文件系统中

git rm –cached


5 远程仓库操作

添加远程仓库

添加远程仓库

git remote add origin

查看远程仓库

查看远程仓库信息

git remote -v

推送更改到远程仓库

推送当前分支到远程仓库

git push origin

推送所有分支到远程仓库

git push –all origin

拉取远程仓库的更改

拉取远程仓库的更改并合并

git pull origin

拉取远程仓库的更改但不合并

git fetch origin

删除远程分支

删除远程分支

git push origin –delete


6 分支操作

创建分支

创建新分支

git branch

创建并切换到新分支

git checkout -b

切换分支

切换到指定分支

git checkout

查看分支

查看所有分支

git branch

查看远程分支

git branch -r

查看所有分支(包括远程)

git branch -a

合并分支

将指定分支合并到当前分支

git merge

查看合并冲突

git status

删除分支

删除本地分支

git branch -d

强制删除本地分支

git branch -D

重命名分支

重命名当前分支

git branch -m

重命名其他分支

git branch -m

查看分支历史

查看分支的提交历史

git log –graph –oneline –all


结语

本文档涵盖了 Git 的常用命令,帮助你更高效地使用 Git 进行版本控制。如果需要更深入的学习,可以参考 。