1. git config
git config设置git的基本信息。
常用命令:
// 查看git config
git config --list
// 设置git config的相关配置信息
git config --global user.name +用户名
git config --global user.email
// 删除某个配置
git config --global user.name
2. git restore
2.1 将工作区中的内容还原
适用于修改的文件只存在于工作区中,还没有被提交到暂存区
//放弃工作区中的更改:将工作区中的更改过的文件内容进行一个删除
git restore + 文件名
git checkout --文件名
//放弃工作区中多个文件内容的更改
git restore + 文件名1 文件名2
//放弃工作区中所有文件的更改
git restore .
2.2 将暂存区中的内容进行还原(取消一个文件的暂存),但是不会撤销工作区中的更改
适用于修改的文件已经被提交到了暂存区中,但是还没有被提交到本地库中。
//查看git的工作区和暂存区的文件版本状态
git status
//取消一个文件的暂存(将文件从暂存区中撤销)
git restore --staged + 文件名
git reset HEAD + 文件名
//放弃所有文件的暂存
git restore --staged .
3. git reset
3.1 仅重置本地库
//查看commit的历史记录,找到每次commit的hash id。
git log
//进行版本回退
git reset --soft + 想回退的版本hash id
将新添加的内容都放入了暂存区中。
3.2 重置本地库和暂存区(git reset命令默认)
git reset --mixed + 想回退的版本hash id
3.3 重置本地库,暂存区和工作区
git reset --hard + 想回退的版本hash id
4. git remote
4.1 初始化本地git仓库的远程库
git remote add 远程库别名 + https/ssh(远程库链接)
//删除远程仓库关联
git remote remove + 远程库别名
//重命名远程库
git remote rename + 远程库原别名 + 远程库现别名
4.2 查看当前关联的远程库
git remote -v
4.3 修改远程仓库配置
git remote set-url 远程库别名 + https/ssh
5. git merge
首先将自己的代码提交到本地库中
然后运行merge命令
git merge + 分支名
git merge + 远程库别名/分支名
解决冲突:
解决完冲突之后,需要再次commit到本地库中。
一般同步代码流程:
- 先将工作区中的代码stash暂存
git stash
- 先将upstream的master分支拉下来,存储在本地库的mergeFetch分支中(会自动新建mergeFetch分支)
git fetch upstream master:mergeFetch
- 将当前分支与mergeFetch分支进行合并
git merge mergeFetch
- 恢复刚才暂存的本地的开发的代码
git stash pop
- 将代码从暂存区中转移到工作区
git restore --staged 文件名
- 多个commit合并
git rebase 用法详解与工作原理 | Shall We Code?
# 从HEAD版本开始往过去数3个版本
$ git rebase -i HEAD~3
# 以此版本号为基准进行显示(常用)
$ git rebase -i hashid
在打开的文本编辑器中,将你想要合并的提交行前的 pick 改为 squash 或 s:
pick 1234567 第一个提交信息
squash 89abcdef 第二个提交信息
squash 4567890 第三个提交信息
- git stash
常用于新分支的功能做到一半,不想提交,但是需要切换分支。所以就把当前分支的功能进行一次保存。
7.1 保存暂存区和工作区
运行后,此时运行git status,工作区的信息是干净的
git stash
//保存时加入一些注释
git stash save "message"
7.2 显示保存进度列表
git stash list
7.3 恢复保存的进度到工作区
//恢复最新的进度到工作区。默认把工作区和暂存区的改动都恢复到工作区中
git stash pop
//恢复最新进度到工作区和暂存区。 会把原来在暂存区的内容也恢复回暂存区中
git stash pop --index
//恢复指定的进度到工作区。stash_id是通过git stash list命令得到的
git stash pop stash@{1}
//删除储存的进度
git stash drop + hashid
- commit如何修改信息
8.1 修改最后一次commit信息
git commit --amend
8.2 修改提交的历史
//查看历史提交记录
git rebase -i HEAD~3
将需要修改的commit版本pick改为edit
pick 1234567 第一个提交信息
edit 89abcdef 第二个提交信息
pick 4567890 第三个提交信息
编辑修改的信息
git commit --amend
9fa76f74494b96809cb15ac38fc7f47d9e9541b7
运行golint cli
go mod tidy
CGO_ENABLED=0 golangci-lint run