 Git 命令入门指南推荐
Git 命令入门指南推荐
  # Git 命令入门指南
Git 是一款分布式版本控制系统,可以用于跟踪和管理软件开发项目的历史版本和变更。本文将介绍 Git 的基本操作,包括初始化仓库、添加、提交和比较文件、查看历史记录、回滚更改、管理远程仓库、分支管理、配置 Git 和使用标签等内容。
# 初始化 Git 仓库
使用 git init 命令在本地创建一个新的 Git 仓库:
git init
# 添加和提交文件
使用 git add 和 git commit 命令将文件添加到本地仓库:
git add 文件名
git commit -m "提交说明"
2
可以使用 git add . 命令将当前工作区的所有文件都加入暂存区。
# 比较文件差异
可以使用 git diff 命令比较文件在工作区、暂存区和历史版本之间的差异:
git diff 工作区文件名
git diff --cached 暂存区文件名
git diff 版本号 文件名
2
3
# 查看历史记录
使用 git log 命令查看提交历史记录:
git log
git log --oneline
git log --author=作者名
git log --grep=提交信息关键字
2
3
4
# 回滚更改
使用 git reset 命令回滚更改:
git reset HEAD^ # 回滚到上次提交
git reset HEAD^^ # 回滚到上上次提交
git reset --hard 版本号 # 回滚到指定版本
2
3
# 管理远程仓库
使用 git remote 命令管理远程仓库:
- 建立远程仓库连接
git remote add <name> 远程仓库地址  #name是远程主机名,自己命名一般为origin
git remote -v #查看远程仓库
git remote rm <name> #删除远程主机
2
3
4
- 从远程仓库拉取最新变更
- 使用git pull方式
git pull <远程主机名> <远程分支名>:<本地分支名> #拉去远程分支并合并
git log -p  #查看修改内容
2
- 使用git fetch+git merge
git fetch <远程主机名> <远程分支名> #拉去远程分支到本地仓库的远程跟踪分支中
git checkout <本地分支名> #切换到需要合并的本地分支
git diff ..<远程主机名>/<远程分支名>  #查看差异
git merge <远程主机名>/<远程分支名>  #合并分支
2
3
4
- 使用git push将本地仓库推送到远程仓库
git push  <远程主机名> <本地分支名>:<远程分支名>  #可以使用-f参数强制推送
- git fetch和- git pull区别- 当你执行 - git fetch命令时,Git会联系远程仓库,获取自上次你与远程仓库交互以来发生的所有更改。这些更改包括新的提交、分支和标签。Git将这些信息保存在你本地仓库的“远程跟踪分支”中,这些分支以- refs/remotes/<remote-name>/<branch-name>的形式命名。- 虽然Git Fetch和Git Pull都是从远程仓库获取数据,但它们的行为有所不同。Git Pull不仅获取远程仓库的更改,还自动将这些更改合并到你的当前工作分支。这可能会导致冲突,特别是在多人同时修改同一部分代码时。相比之下,Git Fetch更加谨慎,它只获取数据而不进行任何修改,这给了你更多的控制权和选择权。 
# 分支管理
使用 git branch 命令创建、删除和切换分支:
git branch 分支名 # 创建分支
git checkout 分支名 # 切换分支
git branch -D 分支名 # 删除分支
git branch -r  #查看远程分支
git branch -m 新分支名称  #修改当前分支名称
git branch -m 旧分支名称 新分支名称  #修改其他分支名称
2
3
4
5
6
使用 git merge 命令合并分支:
分支合并是将两个不同的分支合并成一个新的分支的操作。在 Git 中,分支合并通常用于将一个分支中的更改合并到另一个分支中,以便将多个代码版本合并为一个版本。
分支合并的基本流程如下:
- 切换到目标分支:git checkout <target-branch>
- 执行合并操作:git merge <source-branch>
其中,<target-branch> 是要合并到的目标分支,<source-branch> 是要被合并的源分支。
在执行合并操作时,Git 会找到两个分支之间的最近的共同祖先,然后将两个分支之间的所有更改应用到目标分支中。如果两个分支之间存在冲突,需要手动解决冲突后再进行提交。
例如,假设我们有一个名为 develop 的分支和一个名为 feature 的分支。要将 feature 分支中的更改合并到 develop 分支中,可以执行以下命令:
git checkout develop
git merge feature
2
上述命令会将 feature 分支中的更改合并到 develop 分支中,并生成一个新的合并提交记录。
需要注意的是,合并分支可能会导致代码冲突,因此在执行合并操作之前,最好先使用 git diff 命令查看两个分支之间的差异,以便确定哪些文件会被修改,以及如何处理冲突。同时,在合并分支之前,最好先将目标分支更新到最新的状态,可以使用 git pull 命令从远程仓库更新代码。
git merge 分支名
# 配置 Git
使用 git config 命令配置 Git:
git config --global user.name "用户名"
git config --global user.email "用户邮箱"
2
# 使用标签
使用 git tag 命令创建和查看标签:
git tag 标签名 # 创建标签
git tag # 查看所有标签
git show 标签名 # 查看标签详细信息
2
3
git tag 命令用于在 Git 仓库中打标签,标记某个特定的提交。标签通常用于标识代码版本、发布版本或者重要的里程碑。
Git 中有两种类型的标签:轻量标签(lightweight tag)和附注标签(annotated tag)。
- 轻量标签是一个指向特定提交的引用,类似于分支,但是不会随着新的提交移动,也不会存储任何额外的信息。可以使用 - git tag <tag-name>命令创建轻量标签。
- 附注标签是一个完整的 Git 对象,包含一个标签名、标签创建者、标签消息以及指向特定提交的引用。附注标签可以包含更多的信息,例如发布日期、版本号、变更日志等。可以使用 - git tag -a <tag-name> -m <tag-message>命令创建附注标签。
例如,要在 Git 仓库中打一个名为 v1.0 的附注标签,可以使用以下命令:
git tag -a v1.0 -m "Release version 1.0"
打完标签后,可以使用 git tag 命令查看所有标签。可以使用 git push --tags 命令将标签推送到远程仓库上,这样其他用户就可以看到标签并使用它们。
标签可以用于标识重要的版本发布或者里程碑,同时也可以方便地回到某个特定的提交或版本。
# 结语
本文介绍了 Git 的基本操作,包括初始化仓库、添加、提交和比较文件、查看历史记录、回滚更改、管理远程仓库、分支管理、配置 Git 和使用标签等内容。希望读者可以通过学习本文,掌握 Git 的基本使用方法,提高软件开发效率。
