git-rebase相关内容

Squash Git使用Git Rebase进行*非交互*提交

我正在寻找一种使用git rebase挤压提交的方法,但不是以交互方式进行的。我的问题是,我们是否可以使用git merge-base找到共同的祖先来“向下合并”,然后挤压所有未共享的提交? 例如: git init # make changes git add . && git commit -am "first" git checkout -b dev # make changes ..
发布时间:2022-07-20 14:49:04 其他开发

Git在分支之前拆分提交

假设您有以下历史记录: D———G feature1.1 / ...A-B-C-E-F feature1 现在我想将B拆分成两个提交,以获得: D———G feature1.1 / ...A-B1-B2-C-E-F feature1 你不能只做git rebase-i...然后选择编辑,因为 ..
发布时间:2022-05-23 18:57:51 其他开发

Git合并先前恢复的提交的PR(但不是所有恢复的提交)

我已查看了多个类似的问题和答复,但这些问题和答复对我的情况都不起作用。 最近一次是在2017年"Github does not recognize…" 我遇到的情况是 分行A&>B B(添加100个提交) B-&>C(添加1个提交) B(再添加100个提交) 事故:B通过PR合并到A(w/200提交) 补救措施:还原PR(w/1 Commit) 愿望:将C合并为A ..
发布时间:2022-05-18 11:21:27 其他开发

将主分支合并为特征分支,后者(特征分支)也有基于特征分支的子分支

我有一个功能-分支,这是从师傅那里回来的。现在,总行先进了,特色支行在其上有了许多子行。 我希望将主分支中的所有新更改都放到我的Feature-BRANSE中,并且不应干扰Feature-BRANCH的任何现有子分支。 如果我在主分支上重新设置功能分支的基础,所有在功能分支上的子分支都将被搁置(根据我以前的经验)。 请告诉我我们如何处理这件事。 推荐答案 我将主分支合并到功 ..
发布时间:2022-05-18 10:41:02 其他开发

标签可以在 git filter-branch 和 rebase 之后自动移动吗?

edit 问题归结为“是否也可以指示 git rebase 重新设置标签?"但对原始问题的回答也会有所帮助. 询问 如何将过去添加到 git 存储库? 我遵循 这些说明一个>.然后我重新定位以包含仅在快照中的文件,请参阅 这里. 因为历史被重写(由 git filter-branch 或 git rebase 或两者兼而有之?)所有标签仍在原始时间线上*,我想以某种方式 ..
发布时间:2022-01-18 20:58:57 其他开发

git rebase -i 在 rebase 和强制推送后显示错误的提交历史

在将一个分支基于另一个分支后,我遇到了一个有趣的问题;git rebase -i HEAD~n 不仅会显示错误的提交历史(旧分支),还会显示错误的提交数量. 我想做什么 我希望能够在正确的提交历史记录上执行 git rebase -i HEAD~n,以便从基于我的分支的旧分支中压缩剩余的提交. 导致问题的原因 # 在另一个功能分支上git 分支 -b 新功能分支# 开发我的提交 ..
发布时间:2022-01-15 14:48:49 其他开发

git rebase 不更改提交时间戳

在保留提交时间戳的同时执行 git rebase 有意义吗? 我相信结果是新分支不一定按时间顺序有提交日期.理论上可能吗?(例如使用管道命令;这里只是好奇) 如果理论上可行,那么在实践中是否可以使用 rebase,而不是更改时间戳? 例如,假设我有以下树: master |::: oldbranch :/oldcommit ..
发布时间:2022-01-13 08:34:27 其他开发

git:推送单个提交、使用 rebase 重新排序、重复提交

我想将几个单一的提交推送到一个 git 远程仓库.我按照 Geoff 的回答在这里找到了这样做: 如何将特定提交推送到远程,而不是之前的提交? 我要推送的提交不在前面,所以我必须先使用 rebase 重新排序提交,我使用这些说明来这样做: http://gitready.com/advanced/2009/03/20/reorder-commits-with-rebase.htm ..
发布时间:2022-01-10 13:50:17 其他开发

Git rebase 丢失了历史,那为什么要 rebase 呢?

过去几天我一直在研究使用 Git 进行变基.大多数关于 rebase 的论点都说它清理了历史并使其更加线性.如果您进行简单的合并(例如),您会得到一个历史记录,显示历史何时发生分歧以及何时重新组合在一起.据我所知,变基会删除所有这些历史记录.问题是:你为什么不希望回购历史反映代码开发的所有方式,包括它在哪里以及如何分歧? 解决方案 据我所知,rebase 删除了所有这些历史记录. ..
发布时间:2022-01-04 15:19:30 其他开发

Git:如何重新定位到特定的提交?

我想 rebase 到特定的提交,而不是另一个分支的 HEAD: A --- B --- C 主\\-- D 主题 到 A --- B --- C 主\\-- D 主题 代替 A --- B --- C 主\\-- D 主题 我怎样才能做到这一点? 解决方案 您可以通过在您喜欢的提交上创建一个临时分支,然后以简单的形式使用 rebase 来避免使用 --onto 参数: gi ..
发布时间:2022-01-04 15:00:09 其他开发

删除虚假提交父指针

我将 Bazaar 存储库导入 Git(使用 git bzr),但生成的存储库包含虚假提交父链接: 请注意,标记为 1.02-6 的提交基于 1.02-3 提交,但 1.02-1 也不必要地标记为家长.(注意:回购的这一部分中的所有提交都被标记了;显示的提交之间没有提交.) 我尝试了多种方式重新定位(在 master 分支上:git rebase 1.02-3、git rebase - ..
发布时间:2021-12-27 22:04:52 其他开发

上一次 git 合并后的 git rebase

我有以下情况: 我从主存储库 (X) 创建了一个 clone(Y),因为有很多人在 Y 上工作,我们没有做任何 rebase 而只是 合并s.当我们想要将 (push) Y 传递到 X 时,我们想要做一个 rebase 以使事情变得漂亮和干净 问题在于,在执行 rebase 时,我们被要求执行我们在前面的 merge 步骤中已经完成的所有合并.除了意味着实际重新进行合并的解决方案之外, ..
发布时间:2021-12-27 21:58:31 其他开发

如何在 git rebase 期间通过哈希识别冲突提交?

当我使用 git rebase 遇到合并冲突时,我如何根据提交来确定冲突的来源,而不仅仅是文件差异? 我已经知道如何在 git rebase --continue 之前(基本)使用 git mergetool 或 git add,但有时文件之间的差异还不够:我想查看未能应用于工作树的提交日志和提交差异. 我在其他问题中读到,如果我使用 git merge,git log --merge ..
发布时间:2021-12-27 21:51:54 其他开发

如何在交互式编辑期间从 vim 内部中止 git rebase

当我进行交互式 rebase 时,例如 git rebase -i HEAD~3 rebase 交互式编辑器(在我的例子中是 vim)打开让我编辑对 rebase 的提交 pick c843ea2 将 Vim 列限制设置为 80 (OS X)选择 fc32eac 为 `pbcopy` 添加 Bash 别名(OS X).... 如果我现在决定要中止变基并使用 :q 退出 vim,变基无论如何 ..
发布时间:2021-12-24 08:42:20 其他开发

git rebase 合并冲突

我创建了一个 github 存储库并在我的 github 存储库上工作. 我已经提出了拉取请求,并已完成. 在那之后上游有更多的提交,所以现在我想变基,我想这就是我必须做的. 但我遇到了这些合并冲突: 首先,倒带头部以在其上重放您的工作......申请:第135期首页刷新使用索引信息重建基树...:17:尾随空格.%h4警告:1 行添加了空格错误.回到修补基础和 3 路合 ..
发布时间:2021-12-14 13:15:04 其他开发

如何使用 on 命令 git rebase 一个分支?

我注意到以下 git 命令的两个块有不同的行为,我不明白为什么. 我有一个 A 和一个 B 分支,它们与一个 commit ---COMMIT--- (A)\--- (乙) 我想在最新的 A 上重新设置 B 分支(并在 B 分支上提交) ---COMMIT--- (A)\--- (乙) 如果我这样做没问题: 结帐B变基 A 但如果我这样做: 结帐B变基 --onto B A ..
发布时间:2021-12-06 09:52:00 其他开发

如何以非交互方式运行 git rebase --interactive?

是否可以进行以下操作? 使 git rebase --interactive 只是将标准样板输出到文件,而不是输出到文件并在编辑器中打开它. 让用户编辑文件. 让用户重新运行 git rebase 并使用编辑后的文件名. 继续执行通常的变基过程. 用例:当然是脚本化的变基.请参阅如何在 Git 中以非交互方式重新排序提交 例如. 解决方案 经过一番思考和研究,答案很简单: ..
发布时间:2021-12-06 09:50:01 其他开发

重新定位一个分支,包括它的所有子节点

我有以下 Git 存储库拓扑: A-B-F(主)\D(特征-a)\/C(特征)\E(特征-b) 通过重新定位 feature 分支,我希望重新定位整个子树(包括子分支): $ git rebase 功能大师A-B-F(主)\D(特征-a)\/C(特征)\E(特征-b) 然而,这是实际结果: C'(功能)/A-B-F(主)\D(特征-a)\/C\E(特征-b) 我知道我可以通过执行以下 ..
发布时间:2021-12-06 09:48:19 其他开发

从 git/GitHub 的历史记录中删除文件夹及其内容

我正在我的 GitHub 帐户上处理一个存储库,这是我偶然发现的一个问题. 带有安装了几个 npm 包的文件夹的 Node.js 项目 软件包位于 node_modules 文件夹中 将该文件夹添加到 git 存储库并将代码推送到 github(当时没有考虑 npm 部分) 意识到您实际上并不需要将该文件夹作为代码的一部分 删除那个文件夹,推送它 那时,整个 git 存储库的大 ..
发布时间:2021-12-06 09:41:45 其他开发