[git] 명령 줄에서 SourceTree를 어떻게 여나요?

명령 줄에서 SourceTree에서 git 저장소를 여는 빠르고 쉬운 방법이 있습니까?

터미널에서 많은 자식 작업을 수행하지만 때로는 좋은 기록보기 / 차이를 대체 할 수 없습니다. 북마크를 사용하지 않고 열 수 있기를 원합니다.



답변

SourceTree 명령 줄 도구를 설치하면 명령이 제공됩니다 stree. 그러면 SourceTree에서 현재 디렉토리를 열 수 있습니다.

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'. 당신이 그것을 사용한다면, 그것이 작동하는지 그리고 어떻게 작동하는지 그리고 왜 당신이 심볼릭 링크보다 그것을 선호하는지 코멘트에보고하십시오.

두 가지 방법 모두 streein 의 경로는를 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.cmdPATH 연결된 디렉터리에 이름이 지정된 파일을 만듭니다 .

@echo off
start "" "%LOCALAPPDATA%\SourceTree\SourceTree.exe"

이것은 실제로 디렉토리를 저장소로 열지 않습니다.

스크립트, 특히 명령 프롬프트 용 스크립트를 자유롭게 개선하십시오.


답변