0
点赞
收藏
分享

微信扫一扫

Web的基本漏洞--命令执行漏洞

圣杰 2023-06-01 阅读 67
gitgithub

目录

rebase的作用简要概括为:

可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁!
但是需要注意的是:

命令:

基本格式如下

git rebase -i  [startpoint]  [endpoint]

查看了log日志后,可以运行以下命令:

git rebase -i f8773b6c

或者:

git rebase -i HEAD~3 

可以看到如下界面:
在这里插入图片描述
上面未被注释的部分列出的是我们本次rebase操作包含的所有提交,下面注释部分是git为我们提供的命令说明。每一个commit id 前面的pick表示指令类型,git 为我们提供了以下几个命令:

合并commit会用到squash,针对上面的提交可以改为:

pick 82fc74c7 
s dc6c19fb 
s f8773b6c 

此时如果一切顺利,“wq” 或者 “ctrl+x" 就会进入编辑提交记录的界面,将多余的记录注释掉或者改一下,就可是再次 “wq” 或者 “ctrl+x" 保存退出了。
正常情况到这里就结束了,但总会有意外发生,如果在rebase多个提交的时候出想了冲突,合 并就终止,等待冲突解决后才能够继续。

解决冲突:

如果合并被中断,可以使用 “git status” 命令查看状态:

git status

会打印如下信息:
在这里插入图片描述
假设这里的冲突文件是 “a.go”,可以使用vi或者其它编辑工具处理冲突,然后用 “git add” 命令标记冲突已解决:

git add a.go

之后执行 “git rebase --continue” 继续合并提交。

git rebase --continue

遗留问题:

如果分支在合并commit之前,已经将某些需要被合并的commit通过push命令传到了远程仓库,那么在合并commit之后,那些本应合并在一起的提交还会出现在提交日志中。

举报

相关推荐

0 条评论