IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Emacs用Magit管理git项目

    sheismylife发表于 2016-08-06 11:29:06
    love 0

    一直以来都是命令行,今天试一下emacs的git模块。据说egg是一个从Magit fork出来但是用户界面更好的mode,可惜去了github站点发现4年没有更新了。而Magit仍然活跃。所以选择Magit吧。

    安装

    通过emacs package管理安装最新版本2.7.0, 

    为了查看git状态,在init.el中添加快捷键绑定

    (global-set-key (kbd "C-x g") 'magit-status)

    然后重启emacs.

    现在来试一试如何用,官方文档在这里:https://magit.vc/manual/magit.html#Top

    状态查询

    C-x g来查询状态

    会打开一个buffer,显示

    Head: //指向当前分支的的最近一次提交

    Merge: //远程分支的最近一次提交

    Untracked files //工作区中有,但没有加入git管理

    Unstaged files //git管理的,在工作区已经修改的,但是没有用git add进入staged状态


    其实还有其他更多信息:

    "Staged changes", //用git add变成了staged状态

    "Unpulled commits", "Unpushed commits",


    状态信息做的不错,git status输出也有这些信息,不过没有它这么简洁。


    删除文件

    在shell中用rm命令删除一些文件,然后再查看状态,会看到类似如下信息

    Unstaged changes (2)
    deleted    data/dw_product_dt.csv
    deleted    data/dw_product_dt.csv.tgz


    这时光标移动到这两个文件,分别按下s,会将这两个文件状态变为staged

    Staged changes (2)
    deleted    data/dw_product_dt.csv
    deleted    data/dw_product_dt.csv.tgz


    然后继续按c建进入提交界面,按c后会提示输入comments,之后C-c C-c会提交成功。

    此时状态buffer会看到一个commit id,回车可以看到里面的详细信息


    按P键计入push界面,再按p会直接push到远程分支。








沪ICP备19023445号-2号
友情链接