最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • git rebase实践,适合新手

    正文概述 掘金(Kuiper)   2021-02-28   640

    常用的两种使用场景:

    • 合并多次 commit 提交
    • 合并其他分支代码

    开始

    github上新建仓库:learn-rebase,设置默认分支master,或许你的默认分支是main,基于master分支新建开发分支:dev,如图:

    git rebase实践,适合新手

    git rebase实践,适合新手

    仓库中只有README.md,内容如下:

    git rebase实践,适合新手

    1. 合并多次 commit 提交

    例如,我们基于dev分支开发A功能,开发过程中共产生了 3 次commit,每新建一个文件就commit一次,如图:

    git rebase实践,适合新手

    git rebase实践,适合新手

    此时,我想合并这 3 次commit,在远程仓库上只体现 1 次commit,怎么做呢?
    执行以下命令来实现:

    // git rebase -i [startpoint] [endpoint]
    Mac:learn-rebase fanyanbo$ git rebase -i 5541c74775d37a587f233ed317511647900aba0d c0c5629757353fdc53d79232377b01f96e62121b
    

    回车,进入下一交互界面:

    git rebase实践,适合新手

    上述交互界面中,输入i,进入INSERT编辑模式,修改下图的红框部分,我们将后两次commitpick改成squash,目的是将 3 次commit合并,好好对比下修改前后红框中的内容:

    git rebase实践,适合新手

    git rebase实践,适合新手

    完成修改后按esc退出编辑,输入:wq保存退出,进入下一交互界面:

    git rebase实践,适合新手

    同样,进入编辑模式,修改红框中的commit message,这里我改成了完成A功能,如下图,保存退出。

    git rebase实践,适合新手

    git log查看下,3 次commit变成了 1 次commitcommit记录看上去清爽多了:

    git rebase实践,适合新手

    迫不及待的git push,却发现报错了:

    git rebase实践,适合新手

    wtf,执行git branch -a,原来我们进入了基于dev切出来的临时分支(no branch)

    git rebase实践,适合新手

    遇事不要慌,按以下步骤解决:

    git rebase实践,适合新手

    再看一眼git log,ok,没问题:

    git rebase实践,适合新手

    执行git push,一切顺利,去github看下dev分支的提交记录:

    git rebase实践,适合新手

    git rebase实践,适合新手

    2. 合并其他分支

    接着上文,我们在dev分支开发A功能的同时,团队其他成员也在开发同一项目的B功能:增加d.jse.js文件,修改README.mdB功能完成后提交合并至master分支:

    git rebase实践,适合新手

    如何合并包含新提交内容(B功能)的master分支呢?很简单,在当前dev分支执行git rebase master

    git rebase实践,适合新手

    git rebase实践,适合新手

    以上就完成了合并,查看dev分支的项目代码:有了d.jse.js文件,README.md也变了,git log看下commit记录

    git rebase实践,适合新手

    但分支代码冲突的场景更加常见,如果开发A功能B功能时都修改了同一文件,例如你之前开发A功能时也改了README.md内容,那可能就产生冲突(conflict)了,如下图所示:

    git rebase实践,适合新手

    git rebase实践,适合新手

    git rebase实践,适合新手

    结束

    优秀的人,都在"刻意练习"。


    起源地下载网 » git rebase实践,适合新手

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元