`
郑云飞
  • 浏览: 817310 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

git中的merge和rebase

    博客分类:
  • GIT
 
阅读更多

使用git时,如果遇到分支的情况,比如两个开发人员都从commit2开始各自开发,然后分贝在本地完成了两个commit:



 

此时,如果要将两个分支的代码合并起来,通常会有两种方式,一种对两个分支的代码进行merge,通常会执行的命令为:

 

   1: git pull

 



 这时的版本库历史看起来会是这样:



 

不过通常我们想要的是,保持一个较为简单的历史轨迹,分支太多的话会显得比较凌乱,当引入bug或者其他问题时,可能会影响到追踪。另一种做法是先将某一 个分支A上的提交保存下来,然后将分支B上的,对于commit2的修改作用到commit2上,然后将保存起来的修改作用到新的结果上:



 

对应的命令为:

 

   1: git pull --rebase

 

这个过程并非必要,但是是一种良好的实践,当本地有commit,而需要和别人的commit合并时,建议使用rebase来保证修改历史的轨迹的简洁。

  • 大小: 19.1 KB
  • 大小: 16.9 KB
  • 大小: 11.8 KB
  • 大小: 14.9 KB
分享到:
评论

相关推荐

    Git的merge和rebase你真的了解吗?

    本文将深入探讨Git的两个关键功能——`merge`和`rebase`,以及它们在日常开发中的应用。 1. **Git的版本控制**:Git的核心功能是版本控制,它能够记录文件的每一次修改,包括修改的内容、作者和时间。这使得开发者...

    详解git merge 与 git rebase的区别

    Git 是一个分布式版本控制系统,它提供了两种合并分支的策略:`git merge` 和 `git rebase`。两者都是为了整合不同分支的更改,但它们在处理合并的方式上有显著的差异。 ## Git Merge `git merge` 是最常见的合并...

    前端大厂最新面试题-git rebase_ git merge.docx

    git rebase 和 git merge 的理解与区别 Git 是一个版本控制系统,广泛应用于软件开发过程中。其中,git rebase 和 git merge 是两个常用的命令,都是用于合并分支,但是它们的实现机制和应用场景却有所不同。 git...

    ZhongJinHacker#notes#git_merge和git_rebase总结1

    文件可能会发生冲突,需要解决一下最后结果* 85ef130 (HEAD -> master) Merge branch 'dev'可以看出,merge 有保留d

    git分支操作.txt

    gti详细的分支操作,在git中,可以使用git merge 和git rebase两个命令来进行分支的合并。 git merge 和git rebase在大体上都差不多,下文主要以git merge来例来讲解分支的合并流程。 如果你想了解分支合并的更多...

    git merge tools

    在团队协作中,确保每个人都了解如何正确使用 `git merge` 和处理冲突是至关重要的,以防止项目进展受阻。 总之,理解并熟练运用 `git merge` 是 Git 版本控制的关键技能。它不仅涉及到代码的合并,还包括冲突的...

    11. 高级 1: 不喜欢 merge 的分叉? 用 rebase 吧1

    Git 高级使用指南 - merge 和 rebase 的区别 在 Git 中,我们经常会遇到分叉的情况,特别是在多人协作时。当我们执行 `git merge` 命令时,commit 历史就会出现分叉,这种分叉再汇合的结构会让一些人觉得混乱而难以...

    Git变基(Rebase):优雅地重塑你的提交历史

    Git是一个开源的分布式版本控制系统,由Linus Torvalds...7. **支持代码合并和代码审查**:Git支持代码合并请求(Merge Request)和代码审查,有助于提高代码质量。 Git通常与GitHub、GitLab或Bitbucket等远程仓库服

    Sungq1990#blog#git rebase操作1

    merge主要发生在这样几个地方1 两个人同时开发一个分支,在拉取对方代码的时候2 要将代码合并到master的时候git pull origin master

    Git实战IDEA操作

    Git是一款分布式版本控制系统,它在软件开发中扮演着至关重要的角色,帮助团队协作和代码管理。IntelliJ IDEA(简称IDEA)是广受欢迎的Java集成开发环境,同样也提供了强大的Git集成功能。本文将深入探讨如何在IDEA...

    git 视频教程

    git视频教程.4.6.Git 命令 - git merge、git mergetool.mp4 git视频教程.4.7.Git 命令 - git log、git stash、git tag.mp4 git视频教程.5.1.Git 命令 - git fetch.mp4 git视频教程.5.2.Git 命令 - git pull.mp4 git...

    test-git-merge-cherry-squache

    标题 "test-git-merge-cherry-squash" 暗示了这个压缩包可能包含一个与Git操作相关的示例或教程,特别是关于`git merge`、`git cherry-pick`和`git squash`的实践。Git是分布式版本控制系统,这些命令在版本管理和...

    git批量拉取项目的脚本,简便快捷

    在标签“git”相关的其他知识点中,包括但不限于分支管理(如`git branch`, `git checkout`, `git merge`, `git rebase`)、提交历史查看(`git log`)、回退版本(`git reset`, `git revert`)、标签管理(`git tag...

    配合Git flow 流程使用的git 操作命令指南

    这可以通过`git fetch`、`git rebase`和`git push`来实现。 8. **版本控制** 使用Git flow,你可以更好地管理版本,通过release和hotfix分支确保线上版本的稳定。每次合并到master分支都会创建一个对应的tag,便于...

    git文件存放结构思维导图

    "Git文件存放结构思维导图" Git是一个版本控制系统,通过对文件的存储和管理来实现对项目的版本控制。...Git合并策略包括Recursive、Fast-forward、rebase和git merge等,选择合适的策略可以快速地合并分支。

    专业git中文.pdf

    随着对 Git 的深入使用,你会发现它提供的高级功能,如 `git rebase`、`git cherry-pick` 和 `git blame` 等,能帮助你更好地管理和追溯代码变更。 总之,Git 是一款强大的版本控制系统,不仅解决了传统 VCS 的问题...

    Git-2.37.3-64-bit_3Git-2.37.3-64-bit_3Git-2.37.3-64-bit_3Git-2.3

    对于团队项目,可以使用`git clone`下载远程仓库,`git pull`同步远程更新,`git push`推送本地更改,以及`git fetch`和`git merge`或`git rebase`来整合远程分支。 总之,Git-2.37.3-64-bit_3.exe是Git的64位...

    Git 的基本操作

    Git 是一个分布式版本控制系统,广泛应用于软件开发和协作工作流中。通过 Git,开发者可以跟踪文件和目录的变化,协同编辑代码,并轻松地回滚到以前的版本。以下是对标题和描述中提到的Git基本操作的详细说明: 1. ...

    pro git 中英文

    `git branch`创建分支,`git checkout -b`创建并切换分支,`git merge`合并分支,`git rebase`用于线性化历史,使合并更简洁。 5. **远程仓库**:`git remote`命令用于管理和查看远程仓库,`git push`将本地更改推...

    pro_git_中文版本(Git使用教程)

    Git提供了一套解决冲突的机制,包括手动编辑冲突文件和使用`git merge --abort`或`git reset`命令来撤销冲突。 5. **标签管理**:`git tag`用于标记特定版本,方便回溯和发布。 6. **撤销操作**:Git允许你在历史...

Global site tag (gtag.js) - Google Analytics