어떻게 "git status"를 실행하고 파일 이름을 얻을 수 있습니까?
긴 상대 경로와 반대로?
git status --porcelain
스크립트에서 쉽게 구문 분석 할 수 있도록 설계된 의 출력은 현재 디렉토리가 트리 내 어디에 있는지에 관계없이 상대 경로가 아닌 전체 경로를 출력합니다.
의 각 줄 출력 git status --porcelain
에는 파일의 상태 (예 : 추적되지 않음, 수정 됨, 새로 만들기, 삭제됨 등)를 나타내는 두 개의 선행 문자가 있고 뒤에 공백이 있습니다. 따라서에서 언급되는 모든 항목의 전체 경로를 원하는 경우 git status
당신이 할 수있는 출력 :
git status --porcelain | sed s/^...//
컷이 좋은 것 같아요.
git status -s | cut -c4-
아하, 나는 방금 질문을 이해 했다고 생각 합니다 : 기본 이름을 원하십니까? 압정 | while read a; do basename "$a"; done
다음 중 하나에 :
어때
git diff --name-only
인덱스와 관련된 변경
git diff --name-only --staged
... 잘 준비된 chages :)
git diff --name-only HEAD
둘 다 얻었다
요청한대로 파일 이름 만 가져 오려면 다음 을 수행하십시오 .
git status --porcelain | sed -e 's!.*/!!'
이것이 얼마나 유용한 지 알 수 없습니다.
git status
항상 트리를 걷고 ( 편집 및 위로) 상대 경로를 표시합니다. 현재 디렉토리의 파일 만 원하면 이 관련 답변을 참조하십시오.
수정 된 파일의 이름 가져 오기
git status --porcelain|awk '{if($1=="M") {print "basename " $2}}'|sh
다음과 같이 유사한 스크립트를 사용하여 수정 된 파일을 원격 서버에 복사합니다.
git status --porcelain|awk '{if($1=="M") {print "scp " $2 " account_name@server_ip:~/my_codebase/$(dirname " $2 ")/;"} }'|sh
git status는 상대 경로를 출력하므로 git status를 실행하기 전에 파일과 동일한 디렉토리 (작업 디렉토리의 루트 아래)로 cd하면 추가 / 스테이징 된 파일의 기본 이름 만 출력됩니다.
cd /long/path/to/my/repo/root/dir
"stuff" > ./newfile.txt
> git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: /long/path/to/my/repo/root/dir/plus/some/more/levels/of/directory/structure/inside/it/changed_file.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# long/path/to/my/repo/root/dir/plus/some/even/more/levels/of/directory/structure/inside/it/but_another_new_file.txt
# newfile.txt
no changes added to commit (use "git add" and/or "git commit -a")
즉, 'newfile.txt'는 동일한 경로에 있기 때문에 전체 경로없이 나열됩니다.
참조 URL : https://stackoverflow.com/questions/5237605/how-can-i-run-git-status-and-just-get-the-filenames
'program story' 카테고리의 다른 글
스택에 할당 된 변수에 대한 삭제 호출 (0) | 2021.01.09 |
---|---|
WPF 앱에 가장 적합한 프레임 워크 인 MVVM 프레임 워크 (0) | 2021.01.09 |
PHP에서 cURL을 사용하여 응답을 얻는 방법 (0) | 2021.01.09 |
AngularJS의 입력 필드에서 첫 번째 문자를 자동 대문자로 바꾸는 방법은 무엇입니까? (0) | 2021.01.09 |
Rails before_validation 스트립 공백 모범 사례 (0) | 2021.01.09 |