2017-02-16 13 views
6

Używam MATLABs git support w rozwoju mojego kodu, często zobowiązując się, pchając i wszystkie standardowe rzeczy kontroli źródła.MATLAB git z okna poleceń

Jednak użyłem tylko interfejsu użytkownika MATLAB, który działa po kliknięciu prawym przyciskiem myszy na folderze i poruszaniu się po menu, aż do znalezienia właściwego wyboru (patrz obrazek poniżej).

Czy istnieje sposób, aby okno poleceń programu MATLABS uruchamiało polecenia git zamiast konieczności nawigowania po menu za każdym razem?

enter image description here

Odpowiedz

4

Można użyć wiersza polecenia systemu ! ucieczkę poleceń git obrębie MATLAB. Np .:

!git status 
!git commit -am "Commit some stuff from MATLAB CLI" 
!git push 

Musisz zainstalować Git na swoim systemie, aby to zadziałało.

+0

Oh wow. Czy jest to udokumentowane gdzieś w Mathworks? –

+3

To jest tak, ale nie specjalnie do korzystania z Git: https://uk.mathworks.com/help/matlab/matlab_external/run-external-commands-scripts-and-programs.html Innym przydatnym poleceniem jest "system" . Pozwala na powrót statusu i wyniku: '[status, result] = system ('status git')': https://uk.mathworks.com/help/matlab/ref/system.html –

+0

Zakładam, że przez accidet , rozwiązuje moje drugie pytanie: https://stackoverflow.com/questions/42271641/matlab-git-pull. Proszę, odpowiedz tam również. –

5

chciałbym umieścić następującą funkcję na mojej ścieżce:

function varargout = git(varargin) 
% GIT Execute a git command. 
% 
% GIT <ARGS>, when executed in command style, executes the git command and 
% displays the git outputs at the MATLAB console. 
% 
% STATUS = GIT(ARG1, ARG2,...), when executed in functional style, executes 
% the git command and returns the output status STATUS. 
% 
% [STATUS, CMDOUT] = GIT(ARG1, ARG2,...), when executed in functional 
% style, executes the git command and returns the output status STATUS and 
% the git output CMDOUT. 

% Check output arguments. 
nargoutchk(0,2) 

% Specify the location of the git executable. 
gitexepath = 'C:\path\to\GIT-2.7.0\bin\git.exe'; 

% Construct the git command. 
cmdstr = strjoin([gitexepath, varargin]); 

% Execute the git command. 
[status, cmdout] = system(cmdstr); 

switch nargout 
    case 0 
     disp(cmdout) 
    case 1 
     varargout{1} = status; 
    case 2 
     varargout{1} = status; 
     varargout{2} = cmdout; 
end 

Następnie można wpisać polecenia git bezpośrednio w linii poleceń, bez użycia ! lub system. Ale ma tę dodatkową zaletę, że możesz również wywołać cicho komendę git (brak wyjścia do linii poleceń) i wyjście statusu. To sprawia, że ​​jest to wygodne, jeśli tworzysz skrypt do zautomatyzowanej kompilacji lub procesu wydania.

+0

To jest bardzo interesujące! Jak to nazwać? 'git ('commit', - 'am', '" mycomment "')'? Czy możesz podać przykłady potomności? –

+1

Możesz nazwać go "stylem polecenia" - tzn. Po prostu wpisujesz 'git commit -m" mycomment "' w wierszu poleceń MATLAB, lub możesz wywołać go w "stylu funkcji" - tzn. Używasz '[status, cmdout ] = git ('commit', '-m', '"mycomment"'); '. Używałbym pierwszego stylu, jeśli pracuję interaktywnie, ale gdybym budował automatyczny skrypt do kompilacji lub wydania, użyłbym drugiego. –

+0

To jest fantastyczne, dzięki. –

Powiązane problemy