保持Git历史提交整洁,解决冲突

news/2024/10/11 7:26:37/

比较常见的场景,在代码提交场景,自己的代码和master冲突了,直接拉取master 解决冲突,很方便快捷,但是这样就会将其他开发同学的commit 拉到我们的分支,团队的代码合入时,需要代码同学帮忙code review,CR代码提交的commit就会比较混乱。

比较常用解决冲突的方法

将自己的commit 合并,在通过变基的方法去合并master

合并merge

在进行变基操作之前,通常需要先将当前分支与目标分支进行合并(merge)。这是因为变基操作会改变当前分支的提交记录,从而可能导致与目标分支的提交记录产生冲突。如果在变基操作之前没有先将当前分支与目标分支进行合并,那么在变基操作中就可能会出现冲突,从而导致变基失败。

git merge --squash 

变基rebase

在 Git 中,变基(rebase)是一种将一个分支的提交应用到另一个分支上的操作。变基操作可以将一个分支的提交历史“移动”到另一个分支上,从而使提交历史更加清晰和有序。

具体来说,变基操作会将当前分支的提交“重演”一遍,并将这些提交应用到目标分支上。这个过程中,Git 会自动解决提交冲突,并保留提交历史中的作者和提交时间等信息。

# 执行变基操作
git rebase source_branch

在 Git 中,可以使用 git rebase 命令进行变基操作。如果您在变基过程中遇到了冲突,可以使用 git rebase --continue 命令继续变基操作。

# 执行变基操作
git rebase source_branch# 解决冲突并添加修改的文件到暂存区
git add modified_file# 继续变基操作
git rebase --continue

需要注意的是,如果您在变基过程中遇到了问题,可以使用 git rebase --abort 命令取消变基操作,并回到变基之前的状态。

!!! 比较常用Git 视图化工具在source tree 会在变基过程中卡死,这时候尽量使用命令行去处理

变基结束 推送

最后使用git push --force 命令强制推送变基后的分支到远程仓库。

# 推送变基后的分支到远程仓库
git push --force origin target_branch


http://www.ppmy.cn/news/230162.html

相关文章

华为怎么图片转文字

学习中,我们查阅书籍看到好的文字,好的内容,需要记下来,以备不时之需,但是用手抄很慢,而且效率低,如今科技这么发达,其实,只需要利用手上的手机拍张照,就能将…

《嵌入式系统》知识总结10:使用位带操作操纵GPIO

位操作 汇编层面 外设控制常要针对字中某个位(Bit)操作 以字节编址的存储器地址空间中,需要3步骤(读出-修改-写回) 1.(从外设)读取包含该位的字节数据 2. 设置该位为0或1、同时屏蔽其他位&am…

组合数学第五讲

Catalan numbers(卡特兰数) 先通过平衡括号引入卡特兰数序列的概念 1,2,5,14,...,这些数构成了卡特兰数序列,分别代表一共有i个括号时,括号排列构成的合法方案数【从左到右如果所有括号都能依次配对即是合…

python基础----05-----函数的多返回值、函数的多种参数使用形式、函数作为参数传递、lambda匿名函数

一 函数的多返回值 if __name__ __main__:# 演示使用多个变量,接收多个返回值def test_return ():return 1,hello,Truex,y,z test_return()print(x)print(y)print(z)1helloTrue二 函数的多种参数使用形式 分为以下四种。 2.1 位置参数 位置参数调用函数时根据…

突破软件交付不可能三角,企业级无代码如何实现卓越交付?

一、VUCA时代下项目交付面临的困境 软件开发或软件项目交付一直以来都存在着“不可能三角”,即成本、效率和质量三者难以兼得。 交付周期长、成本高、满意度低等一直是行业内长期存在的现象,甚至软件交付双方都习以为常。传统项目管理与软件实施过程难…

emoji表情包整理好的

{"face": [{"char": "😀","prompt": "嘿嘿"},{"char": "😃","prompt": "哈哈"},{"char": "😄","prompt": "…

未来的计算机作文 800字,关于未来的作文:未来_800字

光阴似箭,日月如梭,转眼间就来到了2030年。学校焕然一新,宛如仙境一般,学校里到底是什么样的呢?我们一起去看看吧! 刚到校门口,就发现大门是高智能的,以前的大门都是保安叔叔日夜看守…

为了机器学习把MacBook Pro换成Asus TUF Gaming 全家桶

近来的工作打乱我的计划,原本想要多学习一些区块链技术,尤其是Cardano和Plutus。但工作需要一些自然语言处理的应用,所以就重拾荒废一段时间的机器学习,为客户做了一些NLP在金融方面的应用。无可避免的终于在算力上遇到了瓶颈&…