program tip

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

radiobox 2020. 11. 14. 10:05
반응형

명령 줄에서 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는 물론 .NET을 설치 한 위치와 일치해야합니다 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
}

쉘을 다시로드하십시오.

Now you can use:

$ towinpath /c/Temp

And it will echo c:\Temp.

Or you can open SourceTree:

$ stree .

And it will open this repository in SourceTree defaulting to the Status panel.


If you have cygwin installed, you can use this as your stree.bat. This batch file uses cygpath to resolve . to its absolute path, so you can do 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

Adapting from multiple answers here for Windows, these scripts will allow you to get SourceTree running from command line (tested on SourceTree 3.0.1.7 / Windows 10).

Scripts in a PATH directory

I've placed both these scripts in a folder that is in my system PATH. You won't have to modify your bash profile for this script.

Git Bash for Windows

Create a file named stree (touch stree) in your PATH linked directory and run chmod u+x stree on this file.

#!/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"

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

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

참고 URL : https://stackoverflow.com/questions/19663202/how-do-you-open-sourcetree-from-the-command-line

반응형