Emacs git插件 - egg

3

我有版本为1.0.0的emacs egg插件,并且已经安装了1.7.4版本的git。我想知道如何将更改推送/拉取到/从存储库中。你有什么想法吗?

1个回答

3

1.0.0意味着你拥有玩家蛋版本,而不是bogolisk的原始版本。

然而,后者(更旧的)蛋百科页面提到:

  • U egg-log-buffer-push-to-remote:远程上传:更新光标下参考的跟踪目标。如果光标下的参考不是远程跟踪分支,则会提示输入远程和目标名称。
  • d egg-log-buffer-fetch-remote:远程下载:下载并更新光标下的参考(git fetch

这些功能可以通过以下方式访问:

C-x v legg-log显示HEAD的历史记录。

使用前缀 (C-u C-x v l),显示所有引用的历史记录 (git log)。


请确保你的git.exe在你的Emacs路径(ExecPath)中, 而不仅仅是在你的PATH中。


为了强调评论所提到的内容:
一个 pull 操作包括 fetch 和 merge 两个步骤(通常将远程分支的 HEAD(即在“remotes”命名空间下获取的分支)与当前本地分支的 HEAD 合并)。因此:
- 你需要浏览所有 refs - 在远程分支上按 'd' - 然后在同一远程分支上按 'm',以便将其与当前分支合并(现已通过 fetch 更新)。
最后两个操作构成了 pull:fetch + merge。

@VonC - 谢谢,使用U上传正常。但是“d”似乎不起作用。在egg-log中,origin/master消失了,条目变成了*** - master ba456ebb Committing README file。当我检查“magit”插件正在发生什么时,来自其他地方推送的新更改会出现为未拉取的提交**。 - arun kumar
@arun:不要忘记d是一个“git fetch”,这意味着它不会更改任何文件,因为它不会拉取任何远程文件(即它将获取但不合并所述文件):因此出现“未拉取提交”的状态。如果您想要实际拉取它,仍然需要将未拉取的提交合并到HEAD(“m”)中。 - VonC
当我在本地分支(主分支)上输入“m”时,会得到一个确认信息:“将主分支合并到HEAD?(y或n)”。当我输入“y”时,它会显示“GIT-MERGE>已经是最新的了。”但是我的代码库仍然没有更新。 - arun kumar
@amur:这似乎很正常:您的本地分支无法合并到自身。但是,您应该能够使用C-u l)浏览所有分支的日志,包括远程分支:这些是由“d”获取更新的分支;这些是您可以合并到HEAD的提交(完成拉取的第二步,即获取+合并)。 - VonC
@arun:太好了!我已经将这些评论结果包含在答案中,以增加可见性。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接