我知道Git别名可以与参数Git Faq部分" Git Aliases with argument"一起使用.
但今天我遇到了一个错误.
举一个不适合实际使用的简单示例.如果我这样做一个别名:
[alias]
lo = "!sh -c 'git log $1' -"
Run Code Online (Sandbox Code Playgroud)
然后我可以用
git lo file_a
Run Code Online (Sandbox Code Playgroud)
查看file_a的日志.
但是当我使用"tab"自动完成路径时,会发生以下错误.
git lo [tab]
Run Code Online (Sandbox Code Playgroud)
错误消息:
sh: declare: `_git_{': not a valid identifier
Run Code Online (Sandbox Code Playgroud)
这似乎是git-completion.bash中的一个错误.但我找不到`_git_ {'的位置!
另外我发现在错误消息中,_git_ {周围的引号标记似乎很奇怪.
BTW,我的msysgit版本是1.7.6-preview20110708
加:
另一个奇怪的是,我搜索了Git目录下的所有文件,发现没有文件包含字符串_git_ {.
我有一个开发设置,我需要多个容器运行不同的服务,我正在尝试使用Fig来实现这一点.其他一切工作正常,但其中一个服务是Play Framework应用程序,它不希望保持运行,除非它获得伪TTY.这样会很好,但是因为我想协调这些多个容器,我想fig up,并且该命令似乎没有分配伪TTY,因此进程在启动后立即死亡,并且所有容器都随之消失.
我已经创建了一个存储库,其中展示了这个问题,任何人都可以克隆并运行,说明书在README中.如果有人能够阐明如何创建例如中间人脚本以保持应用程序运行,或者实际上任何其他解决方案,我可以在fig up我的链接容器设置,这将是辉煌的.
或者,如果有人正在使用任何其他方法来协调这样的多个容器,就像一个管理事物的好的shell脚本运行器,我欢迎您的见解.
编辑:我改变了接受的答案,因为新答案实际上解决了问题.但是,解决方法的答案仍然有重要的信息.
我似乎经常遇到这样的情况,我想快速给某人克隆来自我的笔记本电脑的git repo的方法,并且我想在没有运行SSH守护程序,git守护程序或任何其他类型的情况下执行此功能.需要配置(甚至访问控制)的服务.
到目前为止,我提出的最简单的方法是为Ruby 安装adsf命令行web服务器gem,确保运行git update-server-info然后只adsf在我想要共享的目录中运行.例如,如果我在repo的根目录中运行它,那么我会告诉另一方克隆http://<my_hostname_or_ip>:3000/.git,或者服务器启动的任何端口.
这种方法效果很好,但确实存在由并发访问引起的问题以及安装Ruby和特定gem的需要.
你使用或知道哪些其他工具或黑客执行类似的功能?
编辑:澄清一下,我正在寻找一个解决方案hg serve:ad hoc,快速和无痛,需要最少的设置,没有持久的服务.