【发布时间】:2011-06-28 19:31:59
【问题描述】:
我在 OS X 上使用 Emacs (23.3.1)。我从终端发出 git 命令,而不使用 Emacs 的任何 VC 功能。我将 Emacs 设置为在文件被修改时刷新,这由我的 .emacs 文件的这些行启用:
(custom-set-variables
...
'(auto-revert-interval 1)
...
)
(global-auto-revert-mode 1)
这一直按我的预期工作;如果我拉出,我的 Emacs 缓冲区会随着合并或冲突而更新,就好像我已经退出缓冲区并重新加载每个缓冲区一样。
最近我开始变基(调用 git-fetch 然后调用 git-rebase)而不是简单地拉动(使用 git-pull),我不知道这个问题是否真的与 git-rebase 有关,但我当然之前没注意到问题,现在就做。
所以问题来了:我更新一个文件,使用git commit -am "..." 提交更改,运行git fetch origin,然后运行git rebase origin/master(有时在交互模式下将提交压缩在一起)。现在我已经提取了远程更新,我再去编辑文件,发现它看起来好像我已经丢失了我最近的所有更改。第一次发生时,我非常生气并诅咒变基算法以某种方式丢失了我的更改,直到我意识到文件完全完好无损,只是 Emacs 以某种方式恢复到我更改之前的文件版本'刚刚承诺。我总是可以通过关闭缓冲区并再次加载文件来解决问题,但每次这样做都很痛苦。
有人知道问题出在哪里吗?
【问题讨论】:
标签: git emacs git-rebase