设置仓库用户名
#全局配置,
#项目单独配置,写入项目中.git/config
git config --global user.name "name"
git config --global user.email "xxxxxxxxxx@qq.com"
vscode 不显示远程分支
git remote update origin --prune
撤销上一次提交
git log
git reset --hard 需要回退的版本的hash值
git push origin HEAD --force
修改上一次提交的commit信息
git commit --amend
#或
git commit --amend -m "msg"
git 合并某个提交commit到指定的分支上
git cherry-pick 62ecb3
将一个分支的某个提交合并到另一个分支
git cherry-pick 命令可以将某个分支上的特定提交应用到当前分支上。
找到提交的哈希值
git log 源分支
Cherry-pick 提交
使用 cherry-pick 命令将该提交合并到当前分支。
git cherry-pick 提交的哈希值
解决冲突
解决冲突后,添加解决冲突后的文件:
git add 解决冲突后的文件
继续 cherry-pick 过程:
git cherry-pick --continue
多个连续commit合并
commit_id到commit_idn之间,包括两端
git cherry-pick commit_id..commit_idn
commit_id到commit_idn之间,非闭包
git cherry-pick (commit_id..commit_idn]
挑选多个commit:
git cherry-pick commit_id commit_idx commit_idy
链接:https://blog.youkuaiyun.com/weixin_43246024/article/details/122126501
链接:https://blog.youkuaiyun.com/qq_41883423/article/details/140776493
合并某个分支上的一系列commits
在一些特性情况下,合并单个commit并不够,你需要合并一系列相连的commits。这种情况下就不要选择cherry-pick了,rebase 更适合。还以上例为例,假设你需要合并feature分支的commit76cada ~62ecb3 到master分支。
首先需要基于feature创建一个新的分支,并指明新分支的最后一个commit:
git checkout -bnewbranch 62ecb3
1
然后,rebase这个新分支的commit到master(–ontomaster)。76cada^ 指明你想从哪个特定的commit开始。
git rebase --ontomaster 76cada^
1
得到的结果就是feature分支的commit 76cada ~62ecb3 都被合并到了master分支。
常用
列出所有本地分支
git branch
列出所有远程分支
git branch