首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

rebase后如何从原原分支创建备份分支?

在进行rebase操作后,可以通过以下步骤从原分支创建备份分支:

  1. 确保当前工作目录在原分支上,可以使用git branch命令查看当前所在分支。
  2. 创建一个新的备份分支,可以使用git branch <backup-branch-name>命令,将<backup-branch-name>替换为你想要的备份分支名称。
  3. 切换到备份分支,可以使用git checkout <backup-branch-name>命令,将<backup-branch-name>替换为你创建的备份分支名称。
  4. 将原分支的代码复制到备份分支,可以使用git cherry-pick <commit>命令,将<commit>替换为原分支上的提交记录,可以使用git log命令查看提交记录的哈希值。
  5. 重复步骤4,将原分支上的所有需要的提交记录都复制到备份分支上。
  6. 完成备份分支的创建后,可以继续在备份分支上进行开发或其他操作。

需要注意的是,rebase操作会改变提交记录的哈希值,因此在复制提交记录时需要使用git cherry-pick命令。此外,备份分支的创建是为了保留原分支的代码,以便在需要时可以回退或对比。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详述 GitHub 如何将代码分支合并到 fork 分支

在使用 GitHub 的过程中,我们可能会遇到这样的问题,即: 如何分支的代码合并到fork的分支? 这个问题其实很常见。...但是为了保证我们fork的分支状态与分支同步,这就需要我们主动将分支的代码合并到我们fork的分支了。...如上图所示,标注 2 显示了我们已经向fork的分支进行了 6 次提交以及在我们fork分支或者上一次合并之后,分支已经进行了 160 次提交。...如上图所示,默认是我们fork的分支分支合并,标注 1 左边的箭头表示合并的方向,点击 标注 1 所示的位置,选择 标注 2 所示的akka/akka,也就是分支。...pull request,创建拉请求按钮。

72510

技能篇:git的简易教程

版本控制 版本控制(Revision control)是一种在开发的过程中用于对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份及以便恢复以前版本的技术 没有进行版本控制或者版本控制本身缺乏正确的管理...image.png git-merge 命令是用于指定的commit(s)合并到当前分支的操作 # git merge branchName //当前分支和 branchName 合并 # git...在=======之前的部分是当前分支这边的情况,在=======之后的部分是对方分支的情况 解决完冲突的地方使用git add加入到index中,然后使用git commit产生合并节点 git pull...(patch)(这些补丁放到".git/rebase"目录中),然后把 curBranch 分支更新为 master 分支最新提交,最后把保存的这些补丁应用到 curBranch 分支上 在 rebase...在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突,用 git add 命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行git rebase

53830

代码管理之 Git(六)Git rebase 压缩提交历史

git rebase -i [start] [end] 上式表示,start的commit开始(不包含start的commit)到end结束,这之间的所有commit汇聚成一条commit -i 参数表示...+ Commit comment 其中command代表命令,下面注释部分有多种命令的说明,默认的pick代表当前的当前commit会被出现在rebase的提交信息中。...此时,我们想把DEV commit 5与主分支进行合并,我们可以有两种做法,一种是采用merge的方法,把当前分支与master分支直接进行merge,然后解决冲突push到服务器,这时,会形成一个新的...这里,主线和分支的提交均按照线性时间进行排列了,而且DEV分支已经基于最新的master提交进行了rebase,所以换句话说,rebase的commit 3,4,5应该说已经不再是以前的commit...但是保留了分支,且分支的hash值不变 先rebase分支,再merge,解决冲突,这样不会生成新的commit节点,但是虽保留了分支,但分支的每个提交节点的commit hash均发生了变化

1.6K30

这才是真正的Git——Git实用技巧

将几个commit压缩成一个 ⚠️ 这里有一点要特别注意的是:rebase会导致新的commit节点产生,所以切记不要对多人共用的远端分支进行rebase。...找回丢失的commit节点或分支 像上一步rebase发现不符合预期,如何恢复?不小心删除了一个分支如何找回? “学会这个技能,你的同事会请你喝奶茶的,而且说不定还能收获妹子。”  ...但要注意不要在特性分支继续开发,而应该删除原来的分支E'节点拉出新分支做bug修复等。...如果在特性分支上继续开发,则在合并回master的时候需要做一次revert操作revert掉E'节点,变成E‘’(如下图),不然很容易出现丢失文件等问题。具体原因分析参照分支合并中的总结。...所以执行前请通知仓库的所有开发者,执行所有开发者从新的分支继续开发,弃用以前的所有分支。 其他好用的命令 下面这些命令也是比较实用的命令,感兴趣的同学可以自己学习一下。

72871

Git的简单用法

添加了这个参数,将来运行git pull命令远程仓库获取内容时,本地仓库的这个分支就可以直接origin的master分支获取内容,省去了另外添加参数的麻烦。...而开源的项目,需要fork仓库,在fork的仓库里进行操作,再PR,等待仓库管理者同意合并。(其余的操作类似。)...然后,创建一个分支,在这个分支创建或修改代码: git checkout -b feature-A 接下来,开始添加或修改代码,实现功能A。 修改完成,使用git diff 查看所做的更改。...feature-A分支上同步更新的main(切换到A分支,并rebase到新的main): git checkout feature-A git rebase main (rebase可能会出现confict...远程的分支删除,也删除本地的feature-A(该分支的功能已经合并到main分支了): git checkout main git branch -D feature-A 并将合并的main

39920

Git知识点整理

解决冲突,将修改add执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。...它的相关使用方式命令 git stash: 备份当前的工作区的内容,最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。...Git分支的使用 # 查看本地分支 git branch # 查看远程分支 git branch -r # 创建本地分支(注意新分支创建不会自动切换为当前分支) git branch [name]...因为rebase 隐含了一个git checkout upstream的过程,将HEADlocal分支变成了upstream分支。...当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release,我们合并到Master和Develop分支。 Hotfix分支

46710

都快2023年了还搞不清楚 git rebase 与 git merge!?

但是原理上,二者却截然不同,今天来聊聊二者的用法、区别以及使用场景。...feat: dev添加文件dev.js)合并到你的feature中,一般就会用到这两个命令 git merge git rebase git merge 我们先来看看用git merge如何合并,首先切换到...操作 通过给原始分支中的每个提交创建新的commits来重写项目历史记录,从而达到在feat-a分支上线性提交的目的。...git merge和git rebase的优缺点 git merge 优点:不会破坏分支的提交记录。 缺点:会产生额外的提交记录,并进行两条分支线的合并。...git rebase 优点:无需新增提交记录到目标分支,reabse可以直接将对象分支的提交历史加到目标分支上,形成线性提交历史记录,更加直观。

1.5K20

Git分支合并选择

临时性分支主要有三种:     功能(feature)分支:它是为了开发某种特定功能,Develop分支上面分出来的。开发完成,要再并入Develop。...预发布分支Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,可以采用release-*的形式。...修补bug分支:软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。修补bug分支Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。...场景 现在在develop开发分支上,然后你创建了一个feature分支开发新功能,现在团队中另一个成员在develop分支上添加了新的提交。如下图所示 ?...但是,rebase分支上每一个提交创建一个新的提交,重写了项目历史,并且不会带来合并提交。 ? rebase最大的好处是你的项目历史会非常整洁。

1K50

Git 如何优雅地回退代码

先介绍一下这种场景,我们一个项目 N 版本升到 A 版本时引入了另一项目的 jar 包,又陆续发布了 B、C 版本,但在 C 版本忽然发现了 A 版本引入的 jar 包有极大的性能问题,B、C 版本都是基于...但是使用 git log 查看了提交记录,我就打消了这种想法,因为提交次数太多了,中途还有几次其他分支的 merge 操作。...遗憾的是,当天我并没有理解到 rebase 的这种思想,又由于试了几个方法都不行太过于慌乱,在 rebase 完成,向主分支合并被拒之后对这些方式的可行性产生了怀疑,又加上有同事提出听起来更可行的方式...文件操作 这种更可行的方式就是对文件操作,然后让 git 来识别变更,具体是: 分支上切出一个跟主分支完全相同的分支 F。...在从文件管理系统内,将 bak 文件夹下 除了 .git 文件夹下的所有内容复制粘贴到项目目录下。git 会纯文件级别识别到变更,然后更新工作区。

93410

Git 如何优雅地回退代码

先介绍一下这种场景,我们一个项目 N 版本升到 A 版本时引入了另一项目的 jar 包,又陆续发布了 B、C 版本,但在 C 版本忽然发现了 A 版本引入的 jar 包有极大的性能问题,B、C 版本都是基于...但是使用 git log 查看了提交记录,我就打消了这种想法,因为提交次数太多了,中途还有几次其他分支的 merge 操作。”...遗憾的是,当天我并没有理解到 rebase 的这种思想,又由于试了几个方法都不行太过于慌乱,在 rebase 完成,向主分支合并被拒之后对这些方式的可行性产生了怀疑,又加上有同事提出听起来更可行的方式...文件操作 这种更可行的方式就是对文件操作,然后让 git 来识别变更,具体是: 分支上切出一个跟主分支完全相同的分支 F。...在从文件管理系统内,将 bak 文件夹下 除了 .git 文件夹下的所有内容复制粘贴到项目目录下。git 会纯文件级别识别到变更,然后更新工作区。

79440

Git 这样回退代码,才足够优雅

先介绍一下这种场景,我们一个项目 N 版本升到 A 版本时引入了另一项目的 jar 包,又陆续发布了 B、C 版本,但在 C 版本忽然发现了 A 版本引入的 jar 包有极大的性能问题,B、C 版本都是基于...但是使用 git log 查看了提交记录,我就打消了这种想法,因为提交次数太多了,中途还有几次其他分支的 merge 操作。”...遗憾的是,当天我并没有理解到 rebase 的这种思想,又由于试了几个方法都不行太过于慌乱,在 rebase 完成,向主分支合并被拒之后对这些方式的可行性产生了怀疑,又加上有同事提出听起来更可行的方式...文件操作 这种更可行的方式就是对文件操作,然后让 git 来识别变更,具体是: 分支上切出一个跟主分支完全相同的分支 F。...在从文件管理系统内,将 bak 文件夹下 除了 .git 文件夹下的所有内容复制粘贴到项目目录下。git 会纯文件级别识别到变更,然后更新工作区。

88050

Git分支合并选择

临时性分支主要有三种:     功能(feature)分支:它是为了开发某种特定功能,Develop分支上面分出来的。开发完成,要再并入Develop。...修补bug分支:软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。修补bug分支Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。...场景 现在在develop开发分支上,然后你创建了一个feature分支开发新功能,现在团队中另一个成员在develop分支上添加了新的提交。...使用--no-ff参数,会执行正常合并,在develop分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。...但是,rebase分支上每一个提交创建一个新的提交,重写了项目历史,并且不会带来合并提交。 rebase最大的好处是你的项目历史会非常整洁。

1.1K00

一些常用的 Git 进阶知识与技巧

这时还需要在该目录下创建一个 config 文件。...最后用前面讲过的 git rebase 操作将 c 记录恢复到原来的位置。 这个过程的执行结果就和上图一样,这是当前分支修改和远程分支上的对比,箭头指向的记录消息就是修改的消息。...第二种方式 使用 git checkout -b c 指定记录切出一个分支 在新分支使用 git commit --amend 修改提交消息 使用 git cherry-pick...将 b a 记录,追加到新分支(注意,这里的 b a 提交记录是指分支上的 commit,也就是选取分支上的 b a 记录添加到新分支上,这样新分支上的记录就变成了 a b c,并且 c 记录的提交消息在第二步已经修改过...) 使用 git checout 分支名 切换回原来的分支,再执行 git rebase 合并新分支,最后强推到远程分支 4.

39730
领券