将一个分支覆盖相应的分支:
1.切换到test分支上
git checkout test
2.将master合并到test
git merge master
3.将master分支删掉
git branch -d master
4.将test分支覆盖到master分支上
git branch -m dev master
5.将master分支推送远程库上[有分支则覆盖 无分支则创建新的分支并更新上去]
git push -f origin master
合并分支(IDEA工具):
在远程仓库新建的branch分支后,idea需要手动的刷新就可以刷出相应的新分支内容啦
将当前提交到之前的任意版本: git回滚到任意版本
查找对应Log:
git log -3
回滚到指定的版本:
git reset --hard e377f60e28c8b84158
强制提交:
git push -f origin master
A.cherry-pick的操作:
将A分支的一个commit合并到B分支:
首先切换到A分支
git checkout A
git log
找出要合并的commit ID :
例如
xxx001
然后切换到B分支上
git checkout B
git cherry-pick xxx001
然后就将A分支的某个commit合并到了B分支了
B.本地合并带来很多冲突,强制覆盖远程分支再覆盖本地另外一个分支,参考链接
1.同步了远端develop的最新代码:
git checkout develop
git pull
2.本地的develop分支强制(-f)推送到远端master
git push origin develop:master -f
3.切换到旧分支master
git checkout master
4.下载远程仓库最新内容,不做合并
git fetch --all
5.把HEAD指向master最新版本
git reset --hard origin/master
C.修改提交人信息
1.批量修改本地提交记录:
git filter-branch -f --env-filter \
"GIT_AUTHOR_NAME='要改成的提交人用户名'; GIT_AUTHOR_EMAIL='要改成的提交人邮箱'; \
GIT_COMMITTER_NAME='要修改的提交人用户名'; GIT_COMMITTER_EMAIL='要修改的提交人邮箱';"
2.push
git push -u -f
3.为每个仓库设置提交人信息
git config user.name "samlai"
git config user.email "samlai@xxx.com"