SourceTree > 터미널 > commit 잊어버림 방지 > modified 목록을 얻는 sh 스크립트

동작 확인
Source Tree 1.6.22.0 on Windows 7 pro

배경



잠시 일수, 현재 사용중인 PC에 액세스할 수 없게 될 때, 커밋을 잊고, 돌아왔을 때 다른 개발 PC에서 작업한 것을 병합하지 않으면 안되어 귀찮아진다.

제대로 손을 잡고 싶다.

여러 프로젝트에서 수정중인 파일 목록을 얻고 싶습니다.

상황



1개의 부모 폴더에 복수의 프로젝트 폴더가 포함되는 경우에서의 대응을 하고 있다.

그 이외의 경우는 for문의 부분을 변경이 필요하다(이하에서는 PROJECT_A, _B는 흘린다). v0.1 절차 및 실행 결과 SourceTree로 터미널 시작 cd .. 에서 하나 위로 이동 (상위 폴더로) 다음 스크립트를 실행하면 수정 된 파일 (및 프로젝트)을 알 수 있습니다. $ for dir in $(ls); do echo $dir; cd $dir; if [ -d .git ]; then git status | grep modified; fi; cd ..; done 결과(예) ... PROJECT_1 # modified: Project1.res # modified: Unit1.cpp # modified: Unit2.cpp PROJECT_2 # modified: shutdownButton.py PROJECT_3 PROJECT_4 PROJECT_5 # modified: hello_test_exec ... 위의 예에서 PROJECT_3과 PROJECT_4는 아무 것도 변경하지 않았습니다. PROJECT_1,2,5에서 수정했지만 커밋하지 않은 파일이 있음을 알 수 있습니다. v0.2 SHELL 파일로 만들었습니다. one linear보다 디버깅하기 쉽다. 스크립트 파일 checkYetToCommit.sh #!/bin/sh for dir in $(ls); do echo $dir; cd $dir; if [ -d .git ]; then git status | grep modified; fi; cd..; done 사용법 cd .. (상위 폴더로 이동) sh checkYetToCommit.sh 또는 chmod +x checkYetToCommit.sh 하는 경우 cd .. (상위 폴더로 이동) ./checkYetToCommit.sh 비고 MINGW32의 find 명령은 -type 옵션이없는 것 같습니다. 디렉토리 만 얻는다는 것을 모른다. commit했지만 push하지 않은 문제는 지원되지 않습니다.

좋은 웹페이지 즐겨찾기