rebase相关内容

如何将一个 Git 存储库变基到另一个?

我有一个 Git 存储库 (A),其中包含某个项目的开发直到某个时间点.然后我丢失了这个 repo A 所在的 USB 记忆棒.幸运的是我有最新提交的备份,所以我可以稍后创建一个新的存储库 (B),在那里我导入最新项目的状态并继续开发.现在我找回了丢失的 U 盘,所以我有两个 Git 存储库. 我想我只需要以某种方式将 repo B 重新绑定到 repo A 上,但我不知道该怎么做,也许使用 ..
发布时间:2021-12-27 21:48:12 其他开发

我可以在 git 中默认关闭快进吗?

我真的想不出有什么时候我会使用 git merge 而不是 git rebase 并且不想要一个提交出现.有什么方法可以将 git 配置为默认关闭快速转发?有一个 --ff 选项的事实似乎暗示有一种方法,但我似乎无法在文档中找到它. 解决方案 是的,有--no-ff.您可以为每个分支配置合并选项,例如 git config branch.master.mergeoptions "--no ..
发布时间:2021-12-27 21:47:02 其他开发

git cherry-pick 说“...38c74d 是一个合并,但没有给出 -m 选项";

我在我的主分支中进行了一些更改,并希望将它们带到上游.当我挑选以下提交时.但是,我卡在 fd9f578 上,git 说: $ git cherry-pick fd9f578致命:提交 fd9f57850f6b94b7906e5bbe51a0d75bf638c74d 是一个合并,但没有给出 -m 选项. git 想告诉我什么,并且挑选正确的东西在这里使用?master 分支确实包含对在上游分支中 ..
发布时间:2021-12-27 21:46:03 其他开发

如何解决 git-svn 索引不匹配?

当我执行 git svn rebase 时,它​​一度停止说: Index mismatch: SHA key of a tree != SHA key of another tree. (我开始知道这些 SHA 键对应于一棵树而不是上面两个的 git show 提交沙键.) 重新读取... 文件列表 ...致命:坏对象rev-list -1 --不是 ..
发布时间:2021-12-21 23:44:10 其他开发

如何修复被 git rebase 破坏的 GitHub 拉取请求中的提交顺序?

当我编写代码时,我会将其分解为易于审查的小逻辑更改. 为此,我使用 git rebase -i(交互式)来压缩、删除和更改提交的顺序. 我注意到这有时会导致 GitHub 拉取请求的提交顺序不同(尽管该顺序保留在远程分支上). 例如 提交 1 提交 2 提交 3 可能会在 PR 中显示为: 提交 3 提交 1 提交 2 我在互联网上搜索并只找到了这 ..
发布时间:2021-12-14 13:39:46 其他开发

压缩、变基、重置 --soft 对 github 贡献页面有何影响?

对于我有时从事或工作的某些项目,通常最好将所有更改压缩/重新设置为单个提交.但是,我想知道这如何影响 github 上的贡献页面. 例如,如果我花了 2 个月的时间推动对我创建的项目的更改,然后在 2 个月后决定将其重新设置为一次提交,那么 github 会删除过去两个月地图上的所有贡献立方体吗? > 解决方案 我仍然在这里看到这个,所以我想我不妨回答这个问题.所以答案是肯定的.它将从 ..
发布时间:2021-12-14 13:17:47 其他开发

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

我有以下 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 其他开发

git rebase,跟踪“本地"和“远程"

在执行 git rebase 时,我经常很难弄清楚在解决冲突时“本地"和“远程"发生了什么.有时我的印象是他们从一次提交到下一次交换双方. 这可能(肯定)是因为我还没有正确理解. rebase 时,谁是“本地",谁是“远程"? (我使用 P4Merge 来解决冲突) 解决方案 TL;DR; 总结(作为 Benubird 评论),当: git checkout Ag ..
发布时间:2021-12-06 09:38:57 其他开发

合并 Git 存储库的前两次提交?

假设您有一个包含三个提交 A、B 和 C 的历史记录: A-B-C 我想将两个提交 A 和 B 合并为一个提交 AB: AB-C 我试过了 git rebase -i A 它打开了我的编辑器,内容如下: pick e97a17b B选择 asd314f C 我把它改成 南瓜 e97a17b B选择 asd314f C 然后 Git 1.6.0.4 说: 不能在没有先前提交的情 ..
发布时间:2021-12-06 09:32:19 其他开发

使用 Git 更改项目的第一次提交?

我想在我的项目的第一次提交中更改某些内容,而不会丢失所有后续提交.有没有办法做到这一点? 我不小心在源代码的评论中列出了我的原始电子邮件,我想更改它,因为我收到了 GitHub 索引机器人的垃圾邮件. 解决方案 正如 ecdpalma 所提到的 下面,git 1.7.12+(2012 年 8 月)为 git rebase 增强了选项 --root: "git rebase [- ..
发布时间:2021-12-06 09:22:45 其他开发

“git merge"和“git rebase"有什么区别?

git merge 和 git rebase 有什么区别? 解决方案 假设最初有 3 个 commit,A,B,C: 然后开发人员 Dan 创建了 commit D,开发人员 Ed 创建了 commit E: 显然,这个冲突应该以某种方式解决.为此,有两种方法: 合并: 提交 D 和 E 仍然在这里,但我们创建了合并提交 M 继承了 D 的变化code> 和 E.然 ..
发布时间:2021-12-06 09:22:02 其他开发

在 Git 中的根提交之前插入提交?

我之前问过如何压缩前两次提交 在 git 存储库中. 虽然这些解决方案相当有趣并且不像 git 中的其他一些东西那样令人费解,但如果您需要在项目的开发过程中多次重复该过程,它们仍然是众所周知的伤害. 所以,我宁愿只经历一次痛苦,然后就可以永远使用标准的交互式 rebase. 然后,我想要做的是有一个空的初始提交,该提交仅存在于成为第一个的目的.没有代码,什么都没有.只是占用空间, ..
发布时间:2021-12-06 09:20:30 其他开发

如何将所有 git 提交压缩为一个?

如何将整个存储库压缩到第一次提交? 我可以重新调整到第一次提交,但这会给我留下 2 次提交.有没有办法在第一个之前引用提交? 解决方案 也许最简单的方法是创建一个具有当前工作副本状态的新存储库.如果您想保留所有提交消息,您可以先执行 git log >original.log 然后在新存储库中为您的初始提交消息编辑它: rm -rf .git混帐初始化git 添加.提交 或 g ..
发布时间:2021-12-06 09:14:05 其他开发

合并 --squash 和变基有什么区别?

我是 git 的新手,我试图了解壁球和变基之间的区别.据我了解,您在进行 rebase 时会进行壁球. 解决方案 git merge --squash 和 git rebase --interactive 都可以产生“压扁"的提交. 但它们的用途不同. git merge --squash abranch 将在目标分支上产生压缩提交,不标记任何合并关系. (注意:它不会立即 ..
发布时间:2021-12-06 09:06:53 其他开发

撤消 git rebase

有人知道如何轻松撤消 git rebase 吗? 想到的唯一方法是手动进行: git checkout 提交父级到两个分支 然后从那里创建一个临时分支 手动挑选所有提交 用手动创建的分支替换我重新定位的分支 在我目前的情况下,这是行得通的,因为我可以轻松地发现来自两个分支的提交(一个是我的东西,另一个是我同事的东西). 然而,我的方法让我觉得不是最理想的并且容易出错( ..
发布时间:2021-12-06 08:47:39 其他开发

使用 Git 压缩我最后的 X 提交

如何使用 Git 将我最后的 X 次提交合并为一次提交? 解决方案 你可以使用 git merge --squash 来解决这个问题,比 git rebase -i 稍微优雅一些代码>.假设您在 master 上,并且想要将最后 12 个提交压缩为一个. 警告:首先确保你提交了你的工作——检查 git status 是否干净(因为 git reset --hard 将丢弃已暂存和未暂 ..
发布时间:2021-12-06 08:37:16 其他开发

如何使用 Sourcetree 拆分过去未推送的提交?

Sourcetree 的交互式 rebase 功能很棒,但我经常发现自己希望能够将一个提交“拆分"为多个较小的提交.我知道有一种方法可以从命令行执行此操作,但我似乎无法在 UI 中找到任何位置来处理此问题. 有没有办法用 Sourcetree 做到这一点?或者这是我必须下拉到命令行才能实现目标的地方之一? 解决方案 git help rebase(搜索“SPLITTING COMMI ..
发布时间:2021-11-30 14:19:54 其他开发

如何“变基"Subversion 中的分支(没有任何真正的提交)(对存储库的访问受限)?

我对 Subversion 存储库中只有一个分支具有提交访问权限(写入权限). 不幸的是,前段时间说分支是从主干中创建的;我想在当前主干(当前 HEAD)的顶部“重新定位"它.所述分支上没有“真正的"提交,只有 基于主干 rev2921 创建 foo 分支 注意:我对上述分支外的任何地方都没有写权限. 解决方案 如果分支中没有提交,请 SVN 管理员删除并新建一个;这样你 ..
发布时间:2021-07-05 18:52:29 其他开发