你如何从命令行打开SourceTree?
有没有一种简单快捷的方法来在命令行中打开SourceTree中的git仓库?
我从terminal做了很多git工作,但是有时候没有一个好的历史视图/差异的替代品。 希望能够打开,而不使用书签。
安装SourceTree命令行工具将为您提供stree命令。 这将允许您打开SourceTree中的当前目录。
你也可以指定一个特定的回购path
stree ~/my-repo-in-another-folder
如果安装命令行工具不是出于任何原因的选项,您也可以执行以下操作:
open -a SourceTree path-to-file
也可以在.bashrc或.zshrc中设置一个别名
alias sourcetree='open -a SourceTree'
loeschg的答案可能不起作用; 有些人提到他们的系统日志错误,不能安装命令行工具。 这是一个开放的问题。
解决方法在这里find。 使用:
ln -s /Applications/SourceTree.app/Contents/Resources/stree /usr/local/bin/
这将创build一个到stree
二进制文件的符号链接,并将其放在/usr/local/bin
。 确保目录在你的path上: which stree
应该导致/usr/local/bin/stree
。 如果没有,那么手动添加它到你的PATH
或者使用echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
,它会为你做(重新启动你的shell来重载PATH
variables)。
在上面提到的问题的页面上,我没有testing另一个解决方法: alias stree='/Applications/SourceTree.app/Contents/Resources/stree'
。 如果你使用它,请在评论中报告它是如何工作的,以及为什么你喜欢它在符号链接上。
对于这两种方法, SourceTree.app
中的SourceTree.app
path当然必须与您安装SourceTree.app
的位置相匹配。
现在, stree
被安装并且可以从任何目录访问。 当你的shell的工作目录是一个存储库的根目录时,打开SourceTree的最简单的方法是stree stree .
。
对于Windows上的用户,可以将名为stree.bat
的batch file添加到PATH环境variables中的文件夹中。 (我有一个C:\batch
文件夹,在我的path中存储我的所有实用batch file。)将以下内容添加到您的batch file中:
@echo off start "" "C:\Program Files (x86)\Atlassian\SourceTree\SourceTree.exe"
现在你可以去任何一个Git或Mercurial仓库,运行这个命令,这个命令将在SourceTree中打开仓库。
对于在Bash命令行(msys)上使用Git的用户的另一种Windows解决scheme。
将两个函数添加到Bash .profile中:
# Courtesy: http://stackoverflow.com/questions/12015348/msys-path-conversion-or-cygpath-for-msys function towinpath { { cd $1 && pwd -W; } | sed 's|/|\\|g' } function stree { if [ -z $1 ]; then stree_path=$(towinpath pwd) else stree_path=$(towinpath $1) fi echo "Starting SourceTree in $stree_path" /c/Program\ Files\ \(x86\)/Atlassian/SourceTree/SourceTree.exe -f $stree_path status }
重新加载你的shell。
现在你可以使用:
$ towinpath /c/Temp
它会回显c:\Temp
。
或者你可以打开SourceTree:
$ stree .
它将在SourceTree默认状态面板中打开这个存储库。