나는 코딩 기술이 거의 없거나 전혀없는 사람들이 자신의 컴퓨터에 앱을 설치, 실행 및 업데이트 할 수 있도록 내 앱용 업데이터를 해킹했습니다. 당신이 볼 수 있듯이내 repo에 변경 사항이 있는지 알려면이 도자기 Git 명령을 사용해야하지 않는 이유는 무엇입니까?
@echo off
for /f %%i in ('call git status --porcelain') do set stash=%%i
if not [%stash%] == [] (
echo Stashing local changes...
call git add .
call git stash -q
)
echo Updating App...
call git pull origin master
if not [%stash%] == [] (
echo Restoring local changes...
call git stash apply -q
)
echo Updating Dependencies...
call npm update
echo Done
pause
, 나는이 응용 프로그램은 은닉 할 필요가 로컬 변경 사항이 있는지 여부를 알려 git status --porcelain
를 호출하고 있습니다 : 여기
이 명령은 추적하거나, 작업 디렉토리가 깨끗한 경우 아무것도을 반환하지 않습니다,하지만 로컬 변경 사항이있는 경우 항상 뭔가를 반환합니다.
도자기 명령을 사용하여 git에서 배관 작업을 수행하는 것이 좋지 않은 다른 게시물을 읽었지 만,이 경우에는 잘 작동하고 있는데 git status --porcelain
명령이 실행되는 이유가 표시되지 않습니다. 깨끗한 작업 디렉토리가있을 경우 을 반환하십시오.
내 질문은 : 이 특정 사용 사례에 도자기를 사용하는 것은 잘못 되었습니까? 그렇다면 왜?
보너스 : 이것에 관해 더 좋은 방법은 무엇입니까?
그것은 계몽적이었습니다. 나는이 더 배관 위주의 시나리오에서 사용되도록 의도 된 '- porcelain'스위치를 만든 이유에 대해 여전히 혼란 스럽다. – Bango
@Bango, 많은 자식 명령은'--porcelain' 스위치를 사용하여이 스위치를 사용할 때 안정적인 출력을 제공한다고 알려줍니다. – Opal