git常用场景记录
doing,最后更新9.19
拉取远程分支A合并到本地分支B
需求描述
在团队合作时,我自己的本地分支B功能已经实现并合并到feature
,之后发现别人的代码也合并到了feature
。为了防止以后实现其他功能,合并到feature
时产生冲突,决定拉取最新的feature
并合并到本地分支B。
实现步骤
1.git checkout feature
本地切换分支到feature
2. git pull
拉取远程分支,确保当前分支是最新代码
3. git checkout B
切换到自己的分支
4. git merge feature
将feature分支合并到自己的分支
本地分支B存在未add与commit的代码
需求描述
我们正在本地分支B开发的时候,发现有一个之前版本的bug,并且在分支feature
的新版本已经更新。我们想把feature
版本的更新合并到本地分支B上。
实现步骤
1.git stash -u
在分支B上暂存工作区代码
2.git checkout feature
本地切换分支到feature
3. git pull
拉取远程分支,确保当前分支是最新代码
4. git checkout B
切换到自己的分支
5. git merge feature
将feature分支合并到自己的分支
6. git stash pop
在分支B上恢复工作区
删除上一次的commit
已经push到远程库
需求描述
1.在commit代码后提交到远程库,经上级审核后,存在代码规范问题,所以需要重新修改后提交。但是由于代码实现的是一个功能,而且代码修改了的地方很少,所以向将上一次的提交删除后,重新提交。
2.在commit代码后提交到远程库后,发现有一些本地配置文件一起上传了,所以想删除上一次的commit,重新提交。
需求分析
1.需要保留本地修改后的代码,工作区代码不变
2.由于已经push到远程库,相等于需要回退到上一个版本并删掉远程库的本版本
实现步骤
1.git relog
查看需要回退的commithash(上一次提交的commithash为A,所以需要回退到A之前的一个版本)
2.git reset --soft commithash
回退到指定版本并保持工作区代码不变。
由于工作区代码不变,所以commit之后的其他很多版本修改仍然存在。提交的时候会把不属于自己的代码提交。所以可以舍弃掉其他版本的修改,然后重新执行【本地分支B存在未add与commit的代码的步骤】
3.重新add commit
4.由于本地库回退之后,版本低于远程库(远程库最新版本是我们想删除的),所以使用git push -f
强制将本地库提交到远程库
携带本分支的修改内容到另外一个分支
需求描述
在A分支修改的时候,发现修改的功能是下一个版本的功能。现在下一个版本,更新了新分支B,需要将在A分支的修改携带到B分支上。文章来源:https://www.toymoban.com/news/detail-682116.html
在A分支修改时,没有conmmit文章来源地址https://www.toymoban.com/news/detail-682116.html
# A分支下操作
git stash -u
# 切换到B分支
git checkout B
# B分支下操作
git stash pop
到了这里,关于git常用场景记录 | 拉取远程分支A合并到本地分支B的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!