问题标签 [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.
git - 运行交互式变基时编辑器自动关闭
我正在尝试在我正在使用交互式变基的分支中将 40 多个提交压缩在一起。我在 git 中选择的编辑器是 vscode。当我运行命令时:
我短暂地看到要编辑的文件出现在 vscode 中,但随后它会自动关闭。它将文件从“git-rebase-todo”重命名为“git-rebase-todo(从磁盘中删除)”,然后关闭选项卡。
为什么会这样?我有哪些选择?
git - 我是否需要在每个分支上进行 git rebase 以修复病态提交消息?
我正在向 git 提交一个大文件,在编辑提交消息文件时,我的编辑器似乎搞砸了。结果是~100k 行的整个差异变成了我的“提交消息”。现在,每次我在存储库中加载页面时,都会减慢整个 git 服务器的速度。
我知道我可以简单地在我的主分支上运行交互式 rebase 来编辑提交消息。
不幸的是,当我意识到这一点时,有问题的提交已经被合并到主分支中,并从那里合并到其他几个分支中。那么这是否意味着我必须跟踪每个分支中的提交并在其上重复变基?
我记得在 git 中,提交是不可变的对象,而分支只是提交上的标签。所以并不是说“多个分支有一个commit”,而是一个commit 可以是多个分支的成员。这是否意味着如果我只在 master 分支上编辑提交,其他分支也将被修复?或者不是这样,因为交互式 rebase 只是用我编辑的消息创建了一个新的提交,而不是从字面上编辑原始提交对象?
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
:
git - 为什么 git pull --rebase origin master 需要“master”而不是 git rebase -i origin?
当我想针对远程主机重新设置基准时,我使用
如果我使用
我收到错误
但是为什么会这样
作品?
在这种情况下
实际上导致
我没有名为 master 的本地分支,但是为什么在这种情况下它不去远程分支呢?
git - Git:如何跳到变基的末尾并保留到目前为止的所有更改?
我正处于交互式 rebase 的中间,并且我已经修改了几个提交。
我还有几个标记为要编辑的剩余提交,但我决定不再编辑它们。
我怎样才能结束 rebase(如果你愿意的话,尽早结束)但保留我到目前为止所做的更改?
git rebase --abort
将结束 rebase 并删除我所做的所有更改,并且git rebase --continue
对于我必须编辑的每个剩余提交都输入太乏味。