Есть ли быстрый и простой способ открыть репозиторий git в SourceTree из командной строки?
Я много работаю с git из Терминала, но иногда нет замены хорошему просмотру истории / различию. Хотелось бы иметь возможность открывать без использования закладок.
git
command-line
atlassian-sourcetree
Loeschg
источник
источник
alias sourcetree='open -a SourceTree ./'
. Также пользователи Mac могут пожелать разместить псевдоним в.bash_profile
Ответ loeschg может не сработать; некоторые люди получают ошибку при обращении к своим системным журналам и не могут установить инструменты командной строки. По этому поводу есть нерешенный вопрос.
Здесь можно найти обходной путь. Использование:
Это создаст символическую ссылку на
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 .
.источник
alias
метод, потому что он кажется менее «постоянным» и более «переносимым», чем создание символической ссылки в каталоге, который уже относительно заполнен, и кажется, что он управляется автоматически для меня - Homebrew любит размещать там символические ссылки из своего Cellar. Кроме того, SourceTree в последнее время вносит изменения в свой пользовательский интерфейс, которые мне не нравятся, поэтому я начал хранить несколько его версий, на всякий случай. Использование псевдонимов дает мне большую гибкость в выборе версии, на которую я хочу настроить таргетинг в bash.Те из вас, кто работает в Windows, могут добавить командный файл с именем
stree.bat
в папку в переменной среды PATH. (У меня естьC:\batch
папка в PATH, в которой я храню все свои служебные командные файлы.) Поместите в свой командный файл следующее:Теперь вы можете перейти в любой репозиторий Git или Mercurial и запустить эту команду, которая откроет репозиторий в SourceTree.
источник
Еще одно решение Windows для тех, кто использует Git в командной строке Bash (msys).
Добавьте две функции в свой профиль Bash:
# 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 }
Перезагрузите оболочку.
Теперь вы можете использовать:
И это будет эхом
c:\Temp
.Или вы можете открыть SourceTree:
И он откроет этот репозиторий в SourceTree по умолчанию на панели состояния.
источник
cygpath
, где вы можете сделать что-то похожее наfunction towinpath { cygpath -w $(cd $1 && pwd); }
. Это будет более надежно обрабатывать такие вещи, как пути UNC.Если у вас установлен cygwin, вы можете использовать его как свой
stree.bat
. Этот командный файл используетcygpath
для разрешения.
своего абсолютного пути, поэтому вы можете сделатьstree .
источник
Windows
Эти сценарии, адаптированные из нескольких ответов здесь для Windows, позволят вам запустить SourceTree из командной строки (проверено на SourceTree 3.0.1.7 / Windows 10).
Скрипты в каталоге PATH
Я поместил оба этих сценария в папку, которая находится в моей системе PATH. Вам не нужно будет изменять свой профиль bash для этого скрипта.
Git Bash для Windows
Создайте файл с именем
stree
(touch stree
) в связанном каталоге PATH и запуститеchmod u+x stree
его.Вы можете заменить «log» в последней строке на «status», если вы предпочитаете просмотр изменений / рабочего каталога вашего репозитория в SourceTree.
Командная строка или Powershell
Создайте файл с именем
stree.cmd
в каталоге, связанном с PATH.Обратите внимание, что это фактически не откроет каталог как репозиторий.
Не стесняйтесь улучшать скрипты, особенно скрипт для командной строки.
источник