欢迎来到天天文库
浏览记录
ID:14425269
大小:40.00 KB
页数:11页
时间:2018-07-28
《zhl的emacs笔记:版本控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ZHL的emacs笔记:版本控制本文档是"ZHL的emacs笔记"的一部分。本文档的格式是为了快速检索与浏览而专门调整的,最好用emacs来查看,将tab缩进显式设为3个字符,设置不自动换行,并使用outline模式,以提高学习和工作效率。具体配置可参考文档"ZHL的emacs笔记:配置小技巧"。本文档讲述的是emacs中的版本控制功能,包括git、clearcase等常用的版本控制系统,并详细描述了配置方法以及列出了命令索引,当然,主要是本人在使用过程中所关注的细节以及积累的经验。希望本文档能给emacs同好一些帮助,任何问题或
2、建议可以发信到seaxii@126.com来讨论。文档正文----------------------------------------------------------------**版本控制:git、clearcase、VC辅模式。**git:一个版本控制系统git的前端。第三方的包配置:参见"emacs配置小技巧"第78。说明:1、该扩展由包git.el和git-blame.el提供,它们包含在git发行版中(contrib/emacs目录下),这里描述的是从git-1.6.4中取到的包。git中还提到一个包vc-git
3、.el是用于VC辅模式的后端,它已经成为emacs的一部分(从22.2开始),留待以后研究。2、执行git-status命令后进入*git-status*缓冲区,所有其它命令及按键绑定均在该git缓冲区中生效。3、执行提交操作进入备注编辑模式时发现outline辅模式也被打开了,所以"完成"键绑定被覆盖了。猜测可能是由于备注编辑模式是基于text模式而其会默认打开outline辅模式而导致的。只需将该辅模式关掉,键绑定即正常了。后来该问题被彻底解决了,参见前面对"变量text-mode-hook"的描述。4、与正常的git工具包用
4、法有些不同的是,在git-status缓冲区中没有将新修改提交到索引的操作(新加/删文件例外),只有直接提交的操作。但观察git.el的代码知其还是会操作索引的,只是封装隐藏起来了。5、在Windows+Cygwin下配合Cygwin所带的git也能工作,但执行git-commit-file时由于路径映射的原因而失败(其内部直接使用了git相关命令)。git-status:提问git工作树所在路径(子目录亦可)后进入*git-status*缓冲区,其默认显示与命令gitstatus的输出基本一致,会列出所有有改动的文件,针对这些文
5、件可以执行各种操作。n或SPCgit-next-file:光标移到下一文件。pgit-prev-file:光标移到上一文件。f或RETgit-find-file:在当前窗口打开当前光标所在文件。ogit-find-file-other-window:在另一窗口打开当前光标所在文件。vgit-view-file:打开view辅模式以只读方式查看当前光标所在文件。再按q直接退回到git缓冲区,很方便。ggit-refresh-status:手动刷新。当在emacs中改变文件时,其会自动更新。mgit-mark-file:当前文件加上待
6、操作标记。若有文件加上了待操作标记,则操作(比如比较操作)会针对所有加上了标记的文件,否则,操作只针对当前光标所在文件。ugit-unmark-file:取消当前待操作标记并光标下移。BSgit-unmark-file-up:取消当前待操作标记并光标上移。Mgit-mark-all:全部加上待操作标记。M-BSgit-unmark-all:去掉全部待操作标记。T或tmgit-toggle-all-marks:全部翻转待操作标记。即将有标记的文件去掉标记而将没有标记的文件加上标记。tkgit-toggle-show-unknown:
7、翻转是否显示未知文件。未知文件是指那些未加入到索引中的新文件。默认显示。tigit-toggle-show-ignored:翻转是否显示被忽略的文件。被忽略的文件是指工作树下被.gitignore文件指明不被版本库追踪的文件。默认不显示。tugit-toggle-show-uptodate:翻转是否显示未改变的文件。未改变的文件是指那些版本库中当前未作修改的文件。默认不显示。若显示了未修改文件,则相当于将版本库中所有文件都显示在git缓冲区中。=git-diff-file:比较当前光标所在文件或所有加上了待操作标记的文件,以工作树
8、比较HEAD,生成的patch内容显示在一个diff模式的缓冲区中,其中的子命令参见"diff模式"。agit-add-file:将当前光标所在文件或所有加上了待操作标记的文件(必须是未知文件/新文件)加入到索引中。rgit-remove-file
此文档下载收益归作者所有