git 学习
1. Git config
当我们安装了 git 后,一件非常重要的事情就是配置我们的用户名和邮箱地址,因为我们提交代码到远端服务器需要通过它们来得知提交者是谁。
查看配置列表
在配置用户信息前,我们需要确定自己是否已配置了用户信息。
我们先查看所有的配置:
git config --list
配置分为全局配置(global)和本地配置(local)。全局配置影响所有的 git 仓库,本地配置只影响它所在的 git 仓库,并可以覆盖全局的配置。
上面的内容中,除了第一行来自全局配置,其他配置都是来自该 git 仓库,具体配置文件位置在 .git/config
全局配置来自当前用户家目录下的 .gitconfig 文件,即 ~/.gitconfig。
打开配置文件以查看所有配置
用编辑器(通常是 vim)打开配置文件的命令如下:
# 打开全局配置
git config --global --edit
# 打开当前 git 仓库配置
git config --edit
查看指定配置
上面列表内容有点多,我们可以只看需要的用户信息配置。
查看配置的用户的 用户名/邮箱地址:
git config user.name
git config user.email
命令会先找 git 仓库里的配置,找不到再找全局配置。如果什么都没输出,说明你没有配置。
你也可以指定配置的作用域为 local 还是 global:
# 本地 git config --local user.email # 全局 git config --global user.email
如果都没有,就要去配置了。
配置用户信息
配置全局的用户信息:
git config --global user.name "前端西瓜哥" git config --global user.email "work-email@gmail.com"
双引号可加可不加,如果值中间有空格符,就要加上。
如果你想配置当前项目的用户信息,将 --global 去掉即可,或者也可以改成 --local
git config user.email "person-email@gmail.com"
这在你用公司的电脑折腾自己的个人项目很有用,毕竟你也不希望自己的个人项目的 commit 提交显示的是公司邮箱。
删除配置
当不需要一个配置时,我们可以使用 --unset 配置项。也可以直接改配置文件。
# 本地 git config --unset user.email # 全局 git config --global --unset user.email
结尾
你学会了吗?
我是前端西瓜哥,欢迎关注我,学习更多前端知识
————————————————
版权声明:本文为CSDN博主「前端西瓜哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fe_watermelon/article/details/126861963
2. Git 分支基础
1. 创建分支命令:git branch ,创建后并不自动切换,需要手动切换(git checkout brach_name)
注意:在 Git 2.23 版本中,引入了一个名为 git switch 的新命令,最终会取代 git checkout,因为 checkout 作为单个命令有点超载(它承载了很多独立的功能)。
2. 合并分支命令:git merge branch_name。
3. 附加合并分支命令:git rebase branch_name

4. 移动HEAD指针命令: git checkout
1 移动 HEAD 的命令: 2 3 git checkout <SHA-1> 4 git checkout HEAD[^/~<num>/^<num>] 5 git checkout 分支[^/~<num>/^<num>]
配合移动分支到 HEAD的相对位置 使用 git branch -f 命令。
git branch -f master HEAD //将master 重挂载在HEAD之下
5. 撤销命令:
git reset 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。
使用方法:
git reset HEAD^1 (将当前分支移动到HEAD之前的一个提交)
虽然在你的本地分支中使用 git reset 很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的哦!
为了撤销更改并分享给别人,我们需要使用 git revert。来看演示:

奇怪!在我们要撤销的提交记录后面居然多了一个新提交!这是因为新提交记录 C2' 引入了更改 —— 这些更改刚好是用来撤销 C2 这个提交的。也就是说 C2' 的状态与 C1 是相同的。
git revert HEAD
3. Git树自由移动
本系列的第一个命令是 git cherry-pick, 命令形式为:
git cherry-pick <提交号>...
如果你想将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式了。
当你知道你所需要的提交记录(并且还知道这些提交记录的哈希值)时, 用 cherry-pick 再好不过了 —— 没有比这更简单的方式了。
但是如果你不清楚你想要的提交记录的哈希值呢? 幸好 Git 帮你想到了这一点, 我们可以利用交互式的 rebase —— 如果你想从一系列的提交记录中找到想要的记录, 这就是最好的方法了