git ls-files
추적되지 않은 파일 만 표시 하는 것과 같은 명령을 사용하는 방법이 있습니까?
내가 묻는 이유는 다음 명령을 사용하여 삭제 된 모든 파일을 처리하기 때문입니다.
git ls-files -d | xargs git rm
추적되지 않은 파일과 비슷한 것을 원합니다.
git some-command --some-options | xargs git add
에 대한 -o
옵션 을 찾을 수 git ls-files
있었지만 무시 된 파일도 표시하기 때문에 원하는 것이 아닙니다. 또한 다음과 같이 길고 못생긴 명령을 내릴 수있었습니다.
git status --porcelain | grep '^??' | cut -c4- | xargs git add
여기서 사용할 수있는 더 나은 명령이 있어야합니다. 그렇지 않은 경우 사용자 정의 git 명령을 어떻게 만듭니 까?
답변
추적되지 않은 파일을 나열하려면 다음을 시도하십시오.
git ls-files --others --exclude-standard
출력을로 파이프 해야하는 경우 and를 xargs
사용하여 공백을 생각하는 것이 좋습니다 .git ls-files -z
xargs -0
git ls-files -z -o --exclude-standard | xargs -0 git add
추적되지 않은 파일을 추가하기위한 유용한 별칭 :
au = !git add $(git ls-files -o --exclude-standard)
편집 : 참조 : git-ls-files
답변
추적되지 않은 파일 만 제거하려면 다음을 수행하십시오.
git clean -df
x
특별히 무시 된 파일도 포함하려면 추가 하십시오. 나는 하루 종일 많이 사용 git clean -dfx
합니다 .
라는 스크립트를 작성하고 git-whatever
경로에 넣으면 커스텀 자식을 만들 수 있습니다 .
답변
git add -A -n
당신이 원하는 것을 할 것입니다. -A
의 REPO 모든 비 추적 파일을 추가 -n
하게 그것을 dry-run
추가가 수행되지 않고 상태 출력은 각각의 파일 목록 주어진다 것이 추가되었다합니다.
답변
허용되는 답변은 공간이있는 파일 이름에서 충돌합니다. 이 시점에서 alias 명령을 업데이트하는 방법을 잘 모르겠으므로 개선 된 버전을 여기에 넣으십시오.
git ls-files -z -o --exclude-standard | xargs -0 git add
답변
모든 것이 매우 간단합니다
추적되지 않은 모든 파일의 목록을 얻으려면 -u 옵션 (–untracked-files) 과 함께 git status 명령을 사용 하십시오.
git status -u
답변
추가 할 파일을 찾을 때. 의 결과 git show
는 그렇게하지만 많은 다른 것들도 포함합니다. 다음 명령은 동일한 파일 목록을 가져 오지만 다른 항목은 모두없는 경우에 유용합니다.
git status --porcelain | grep "^?? " | sed -e 's/^[?]* //'
파이프 라인에서 결합하여 특정 패턴과 일치하는 파일을 찾은 다음이를 파이핑 할 때 유용합니다 git add
.
git status --porcelain | grep "^?? " | sed -e 's/^[?]* //' | \
egrep "\.project$|\.settings$\.classfile$" | xargs -n1 git add
답변
나는 오래된 질문을 알고 있지만 추적되지 않은 파일을 나열하는 관점에서 추적되지 않은 폴더를 나열하는 다른 파일을 추가 할 것이라고 생각했습니다.
git clean 작업을 -n (dry run)과 함께 사용하여 다음을 통해 제거 할 파일 (.gitignore 파일 포함)을 표시 할 수 있습니다.
git clean -xdn
이것은 추적되지 않은 모든 파일 과 모든 폴더 를 표시하는 이점이 있습니다 . 매개 변수 :
x
-추적되지 않은 모든 파일을 표시합니다 (git과 다른 사람들이 무시한 것을 포함하여 빌드 출력 등)d
-추적되지 않은 디렉토리 표시n
그리고 가장 중요한 것은! -드라 이런, 즉 실제로 아무것도 삭제하지 말고 깨끗한 메커니즘을 사용하여 결과를 표시하십시오.
를 잊어 버렸을 때와 같이하는 것이 안전하지 않을 수 있습니다 -n
. 그래서 나는 보통 git config에서 별칭을 지정합니다.