简介
magit是emacs编辑器用来管理git版本控制的插件,按照官网的说法是A Git Porcelain inside Emacs
,至于emacs与magit如何安装在此就不多费口舌了,有需要的小伙伴们可以去看下我的spacemacs配置或者magit官方网站。
那么言归正传,当我们安装完magit如何实现git一系列操作呢?我们以刚才的emacs配置为例,来一步步详解如何使用magit管理git。
magit
clone我们的github项目到本地。
-
打开我的emacs配置项目,获取clone地址。如图所示
-
在emacs里使用
M-x dired
打开想clone的目录,在此我新建了一个magit文件夹,并打开。如图 -
使用magit指令clone远程项目,
M-x magit-clone
,输入clone的远程仓库地址并填写clone文件夹名称,如图 -
按
g
刷新目录,现在magit文件夹下的.spacemacs.d便是我们远程clone下来的github项目了,如图
commit提交改动文件
-
现在我们打开.spacemacs.d的
README.md
文件,新增内容并保存,如图所示 -
执行
M-x magit-status
查看git改动情况,如图所示 -
在magit-status窗口下,执行
M-x magit-commit
或者使用快捷键c c
提交改动,左侧将会显示改动具体信息,并且在底下指令提示commit everything?(y or n)
, 输入y
,右侧显示要求输入commit的文字描述,输入新增jade-mode
结果如图 - 输入完commit信息之后,执行快捷键
C-c C-c
提交commit。如图到这里,commit提交算是完成了,接下来便是sync到我们的远程仓库。
push commit到远程github仓库。
-
在magit窗口下,执行
M-x magit-push
,push操作,push操作为一系列操作,如图 -
选择将要push的本地git
master
,RET,如图 -
在此选择所需push的远程git
origin/master
,RET,如图 -
在magit-status窗口按快捷键
$
,打开magit进程magit-process
,结果如图 -
验证是否成功push,打开github的远程仓库地址,如图所示
到此,我们便成功的使用magit的clone,commit,push指令完成了本地与远程仓库的版本控制。
其它
magit提供的git指令还有很多,本文的用意在于实现一次magit系列操作,更多的功能小伙伴们可以去查看magit官网
-
M-x magit-pull
指令即从远程仓库sync到本地,与magit-push的功能一样,只是sync的方向不同。 -
magit无法track新建文件,解决方案是在magit-status下commit窗口中在新文件行按
s
重新stage。 -
M-x magit-log-all
查看github项目的所有分支提交日志,如图所示 -
M-x magit-tag
为本地添加tag标签 -
M-x magit-push-tag
提交tag标签到远程仓库 - 在
magit-mode
状态下b b
切换分支
总结
使用magit指令便可以脱离github客户端,在某种程度上可以说提高了开发效率,也算是emacs利器之一。