问题标签 [git-interactive-rebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
51 浏览

git - 运行交互式变基时编辑器自动关闭

我正在尝试在我正在使用交互式变基的分支中将 40 多个提交压缩在一起。我在 git 中选择的编辑器是 vscode。当我运行命令时:

我短暂地看到要编辑的文件出现在 vscode 中,但随后它会自动关闭。它将文件从“git-rebase-todo”重命名为“git-rebase-todo(从磁盘中删除)”,然后关闭选项卡。

为什么会这样?我有哪些选择?

0 投票
1 回答
36 浏览

git - 我是否需要在每个分支上进行 git rebase 以修复病态提交消息?

我正在向 git 提交一个大文件,在编辑提交消息文件时,我的编辑器似乎搞砸了。结果是~100k 行的整个差异变成了我的“提交消息”。现在,每次我在存储库中加载页面时,都会减慢整个 git 服务器的速度。

我知道我可以简单地在我的主分支上运行交互式 rebase 来编辑提交消息。

不幸的是,当我意识到这一点时,有问题的提交已经被合并到主分支中,并从那里合并到其他几个分支中。那么这是否意味着我必须跟踪每个分支中的提交并在其上重复变基?

我记得在 git 中,提交是不可变的对象,而分支只是提交上的标签。所以并不是说“多个分支有一个commit”,而是一个commit 可以是多个分支的成员。这是否意味着如果我只在 master 分支上编辑提交,其他分支也将被修复?或者不是这样,因为交互式 rebase 只是用我编辑的消息创建了一个新的提交,而不是从字面上编辑原始提交对象?

0 投票
0 回答
273 浏览

git - Git rebase 卡在 Waiting for your editor to close the file

我正在使用 VS 代码。我刚刚执行

它在新的 VS Code 实例中打开了配置窗口(用于选择要使用的提交)。我更改了对该选项的一次提交edit,保存了它,然后关闭了该编辑器实例,但我的终端仍在说

我尝试重新启动 VS Code 并再次执行此过程,它仍然在做同样的事情。昨天我没有遇到交互式变基的问题,所以我不确定发生了什么。

有人可以建议吗?

编辑:发表这篇文章后,我又试了一次,运行后git rebase --abort,我现在似乎在执行后遇到了一个单独的问题git rebase -i origin/master

0 投票
1 回答
29 浏览

git - 为什么 git pull --rebase origin master 需要“master”而不是 git rebase -i origin?

当我想针对远程主机重新设置基准时,我使用

如果我使用

我收到错误

但是为什么会这样

作品?

在这种情况下

实际上导致

我没有名为 master 的本地分支,但是为什么在这种情况下它不去远程分支呢?

0 投票
1 回答
31 浏览

git - Git:如何跳到变基的末尾并保留到目前为止的所有更改?

我正处于交互式 rebase 的中间,并且我已经修改了几个提交。

我还有几个标记为要编辑的剩余提交,但我决定不再编辑它们。

我怎样才能结束 rebase(如果你愿意的话,尽早结束)但保留我到目前为止所做的更改?

git rebase --abort将结束 rebase 并删除我所做的所有更改,并且git rebase --continue对于我必须编辑的每个剩余提交都输入太乏味。