【问题标题】:Emacs git plugin - eggEmacs git 插件 - 鸡蛋
【发布时间】:2011-05-26 18:36:31
【问题描述】:

我有 emacs egg 插件版本 1.0.0。我安装了 git 1.7.4 版本。我想知道如何将更改推入/拉出存储库。知道怎么做吗?

【问题讨论】:

    标签: git emacs emacs-egg


    【解决方案1】:

    1.0.0 表示你有byplayer's egg 版本,而不是原来的from bogolisk

    但是,后者(和更老的)egg wiki page 提到:

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

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

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

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


    不过,请确保您的 git.exe is in your Emacs path (ExecPath),而不仅仅是您的 PATH


    为了突出 cmet 提到的内容:

    • 拉取是提取 + 合并(通常将 remote 分支的 HEAD 合并 - 即在“远程”命名空间中提取的分支 - 到 HEAD 的当前本地分支)。
      所以:
      • 您需要浏览所有参考文献
      • 在远程分支上键入“d”
      • 然后在同一个(现在由 fetch 更新)远程分支上键入“m”,以便将其与当前分支合并。

    最后两个操作构成拉取:提取 + 合并。

    【讨论】:

    • @VonC - 谢谢,上传在 U 上可以正常工作。但“d”似乎不起作用。在 egg-log 中 origin/master 消失,条目变为 * - master ba456ebb Committing README file。当我检查 'magit' 插件发生的情况时,存储库中的新更改(从其他地方推送)来自 unpulled commmits
    • @arun:不要忘记 d 是一个 'git fetch',这意味着它不会改变你的任何文件,因为它不会pull任何远程文件(即它将获取但不合并所述文件):因此处于“未拉取提交”状态。如果您想实际拉取它,您仍然需要将未拉取的提交合并到 HEAD ("m")。
    • 当我在本地分支(master)上给出“m”时,我得到了一个确认将 master 合并到 HEAD? (是或否)。当我输入“y”时,它会显示 GIT-MERGE> 已经是最新的。。但我仍然没有更新的代码库。
    • @amur:这看起来很正常:您的本地分支无法自行合并。但是您应该能够使用 C-u l) 浏览 all 分支的日志,包括 remote 分支:这些是由 'd' fetch 更新的分支;这些是您可以合并到HEAD 的提交(完成拉取的第二步,即获取+合并)。
    • @arun:太好了!为了提高知名度,我已将这些评论结果包含在答案中。
    猜你喜欢
    • 2011-12-15
    • 2017-03-08
    • 2017-06-25
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2017-02-28
    • 2010-10-29
    • 2011-02-13
    相关资源
    最近更新 更多