명령 줄에서 SourceTree에서 git 저장소를 여는 빠르고 쉬운 방법이 있습니까?
터미널에서 많은 자식 작업을 수행하지만 때로는 좋은 기록보기 / 차이를 대체 할 수 없습니다. 북마크를 사용하지 않고 열 수 있기를 원합니다.
답변
SourceTree 명령 줄 도구를 설치하면 명령이 제공됩니다 stree
. 그러면 SourceTree에서 현재 디렉토리를 열 수 있습니다.
저장소에 대한 특정 경로를 지정할 수도 있습니다.
stree ~/my-repo-in-another-folder
어떤 이유로 든 명령 줄 도구를 설치할 수없는 경우 다음을 수행 할 수도 있습니다.
open -a SourceTree path-to-file
.bashrc 또는 .zshrc에 별칭을 설정할 수 있습니다.
alias sourcetree='open -a SourceTree'
SourceTree 3를 사용하는 사람들을 위해
alias sourcetree='open -a SourceTree\ 3'
답변
loeschg의 대답은 작동하지 않을 수 있습니다. 어떤 사람들은 시스템 로그를 참조하는 오류가 발생하고 명령 줄 도구를 설치할 수 없습니다. 이에 대해 공개 된 문제가 있습니다.
여기에서 해결 방법을 찾을 수 있습니다. 사용하다:
ln -s /Applications/SourceTree.app/Contents/Resources/stree /usr/local/bin/
이것은 stree
바이너리에 대한 심볼릭 링크를 생성하고 /usr/local/bin
. 디렉토리가 경로에 있는지 확인하십시오 . which stree
결과는 /usr/local/bin/stree
. 그렇지 않은 경우 PATH
수동으로 추가 하거나을 사용 echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
하여 수행합니다 (셸을 다시 시작하여 PATH
변수 를 다시로드 ).
위에서 언급 한 문제의 페이지에 내가 테스트하지 않은 또 다른 해결 방법이 게시되었습니다 alias stree='/Applications/SourceTree.app/Contents/Resources/stree'
. 당신이 그것을 사용한다면, 그것이 작동하는지 그리고 어떻게 작동하는지 그리고 왜 당신이 심볼릭 링크보다 그것을 선호하는지 코멘트에보고하십시오.
두 가지 방법 모두 stree
in 의 경로는를 SourceTree.app
설치 한 위치와 일치해야합니다 SourceTree.app
.
이제 stree
가 설치되어 모든 디렉토리에서 액세스 할 수 있습니다. 쉘의 작업 디렉토리가 저장소의 루트 디렉토리 일 때 SourceTree를 여는 가장 짧은 방법은 stree .
.
답변
Windows 사용자 stree.bat
를 위해 PATH 환경 변수의 폴더에 이름이 지정된 배치 파일을 추가 할 수 있습니다 . ( C:\batch
모든 유틸리티 배치 파일을 저장하는 PATH에 폴더가 있습니다.) 배치 파일에 다음을 넣으십시오.
@echo off
start "" "C:\Program Files (x86)\Atlassian\SourceTree\SourceTree.exe"
이제 Git 또는 Mercurial 저장소로 이동하여이 명령을 실행하면 SourceTree에서 저장소가 열립니다.
답변
Bash 명령 줄 (msys)에서 Git을 사용하는 사용자를위한 또 다른 Windows 솔루션입니다.
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
}
쉘을 다시로드하십시오.
이제 다음을 사용할 수 있습니다.
$ towinpath /c/Temp
그리고 그것은 반향 c:\Temp
합니다.
또는 SourceTree를 열 수 있습니다.
$ stree .
그리고 SourceTree에서이 저장소가 열리 며 기본값은 상태 패널입니다.
답변
cygwin이 설치되어 있다면 이것을 stree.bat
. 이 배치 파일은 용도 cygpath
해결에 .
절대 경로, 당신이 할 수 있도록stree .
@echo off
FOR /F "tokens=* USEBACKQ" %%F IN (`cygpath -w -a %1`) DO (
SET STREE_OPEN_PATH=%%F
)
%USERPROFILE%\AppData\Local\SourceTree\SourceTree.exe -f "%STREE_OPEN_PATH%"
답변
윈도우
여기에서 Windows에 대한 여러 답변을 적용하면이 스크립트를 사용하여 명령 줄에서 SourceTree를 실행할 수 있습니다 (SourceTree 3.0.1.7 / Windows 10에서 테스트 됨).
PATH 디렉토리의 스크립트
이 두 스크립트를 내 시스템 경로에있는 폴더에 배치했습니다. 이 스크립트에 대한 bash 프로필을 수정할 필요가 없습니다.
Windows 용 Git Bash
PATH 연결된 디렉터리에 stree
( touch stree
) 라는 파일을 만들고이 파일 에서 실행 chmod u+x stree
합니다.
#!/bin/sh
function towinpath {
{ cd $1 && pwd -W; } | sed 's|/|\\|g'
}
if [ -z $1 ]; then
stree_path=$(towinpath pwd)
else
stree_path=$(towinpath $1)
fi
$LOCALAPPDATA/SourceTree/SourceTree.exe -f $stree_path log &
SourceTree에서 저장소의 변경 / 작업 디렉토리보기를 선호하는 경우 마지막 줄의 “log”를 “status”로 바꿀 수 있습니다.
명령 프롬프트 또는 Powershell
stree.cmd
PATH 연결된 디렉터리에 이름이 지정된 파일을 만듭니다 .
@echo off
start "" "%LOCALAPPDATA%\SourceTree\SourceTree.exe"
이것은 실제로 디렉토리를 저장소로 열지 않습니다.
스크립트, 특히 명령 프롬프트 용 스크립트를 자유롭게 개선하십시오.