是否可以将git提交挂接到Textmate上的save?

是否可以将git提交挂接到Textmate上的save?,git,textmate,Git,Textmate,让我成为Eclipse用户的一个特性是,每次点击save,它的一个副本就会进入Eclipse本地历史记录。然后你可以做一个关于当地历史的差异 尽管如此,我还是喜欢使用Textmate,因为我听到了很多关于它的好消息。我知道有一个未来版本的插件…但我想知道是否有人找到了一个插件,或其他一些方法,让这个功能塞进Textmate现在?我知道这是一个漫长的过程,但问一个问题也不会有什么坏处 多谢各位 更新 (编辑了问题的标题,因为之前的标题没有兴趣) 我刚刚意识到也许这是一个解决办法。是否可以将Text

让我成为Eclipse用户的一个特性是,每次点击save,它的一个副本就会进入Eclipse本地历史记录。然后你可以做一个关于当地历史的差异

尽管如此,我还是喜欢使用Textmate,因为我听到了很多关于它的好消息。我知道有一个未来版本的插件…但我想知道是否有人找到了一个插件,或其他一些方法,让这个功能塞进Textmate现在?我知道这是一个漫长的过程,但问一个问题也不会有什么坏处

多谢各位

更新 (编辑了问题的标题,因为之前的标题没有兴趣)
我刚刚意识到也许这是一个解决办法。是否可以将Textmate保存挂接到git提交中?

您需要的是:创建一个新命令,将“保存”设置为“当前文件”(此选项位于文本区域上方),“输入”设置为“整个文档”,将“输出”设置为“显示为工具提示”。现在将下面的代码复制到文本区域中,并将Command-S指定为commands键绑定

#/usr/bin/env ruby
filename=ENV[“TM_FILEPATH”].split(“/”).last
`git add#{ENV[“TM_文件路径”]}`
`git提交-m“#{filename}”`
每次键入Command-S时,文件都将被保存并提交到(已经存在的)git存储库中。如果文件未更改,则不会执行提交,因为git将阻止提交

下面我扩展了该命令,以弹出一个提交消息对话框,并在未找到git存储库时给出一个很好的警告。你应该能够自己解决剩下的问题。:)

#/usr/bin/env ruby
需要ENV['TM_SUPPORT_PATH']+'/lib/ui'
filename=ENV[“TM_FILEPATH”].split(“/”).last
message=TextMate::UI.request\u字符串(
:title=>“提交更改#{filename}”,
:prompt=>“请输入更改的提交消息。”
)
add=`git add{ENV[“TM_FILEPATH”]}2>&1`
commit=`git commit-m“#{message}”2>&1`
git_answer=add+commit
除非git_answer.grep(/fatal/)。空?
放置“请先初始化git存储库!”
结束

如何在TextMate中保存?一种可能的黑客解决方案是编写一个bundle条目来保存文件,然后进行提交,然后将command-s重新绑定到此bundle条目。但是如果你使用文件>保存来保存,那么这对你没有任何好处…如果这可能有帮助,lmk,我会写下来作为答案。谢谢Josh,那太棒了!另请参见$PATH变量中的@joedevon是git吗?(在终端中尝试“echo$PATH”)。如果是,是否为所有程序加载了它,即不在.login文件之类的登录钩子中?(TextMate不会使用该文件。)忘了提到我确实将git放入了$PATH,它工作得很好,现在将弹出窗口添加到Command-s,将非弹出窗口添加到Command-Shift-s。