我想创建一个git alias
,它将允许我做git visit
,并且存储库将在浏览器中打开。
这在Git for Windows与Git Bash中为我工作。在git配置文件中添加以下内容:
[alias]
visit = "!git remote get-url origin | xargs -r start"
visitfancy = "!f() { REMOTE=${1:-origin}; URL=$(git remote get-url "$REMOTE"); if [[ -n "$URL" ]]; then start "$URL"; fi; }; f"
visit
将直接启动origin
存在的远程url。
visitfancy
将启动您指定的远程名称的远程url,如果没有指定,则默认为origin
。
当您输入一个命令,如git xyz
, git查找一个名为git-xyz
的文件,如果找到,它执行它。您可以通过将一个名为git-visit
的文件放在PATH
的目录中来模拟这种行为,然后git visit
将执行它。
文件的内容应该是
xdg-open $(git remote -v | cut -d @ -f 2 | cut -d ' ' -f 1 | head -1 | sed 's/:///' | sed 's/.git$//' | sed s'/^/https:///') >& /dev/null &
(xdg-open
可能无法在您的机器上工作)。
注意,为了使文件可执行,必须执行chmod +x git-xyz
如果这个repo有一个GitHub远程,你可以说hub browse
(如果你已经安装了hub
)。
我使用如下:
[alias]
visit = "!f(){ xdg-open `git config --get remote.origin.url | sed -Ee 's#(git@|git://)#https://#' -e 's@com:@com/@'`| head -n1; }; f"
它适用于SSH和HTTPS克隆库+ GitHub和GitLab
我在osx上的使用:
使用所需的浏览器只需替换Firefox.app
如。Safari.app
,Brave Browser.app
,Google Chrome.app
…
alias visit='open -a "/Applications/Firefox.app" $(git config --get remote.origin.url)'
在windows上,您可以在repo终端运行以下命令:
start (git config --get remote.origin.url)
有一个小而方便的工具用于此目的。你可以通过npm和其他命令轻松安装它,在浏览器中打开你的repo。
- npm install --global git-open
- git open
在这里您可以找到其他有用命令的文档