수정 된 파일 만`git status '할 수 있습니까?


173

git status수정 된 파일 만 표시하고 표시 할 수 있습니까?

문제는 현재 커밋하거나 gitignore하고 싶지 않은 스크롤 된 파일이 너무 많다는 것입니다. 우분투에 스크롤 제한이 설정되어 있습니다.


1
스크롤 한도는 어떻게 되나요? 기본적으로 git status호출기를 호출합니다.
릴리 발라드

내 컴퓨터에서 죄송합니다 스크롤 백 제한이 512 줄로 설정되어 있습니다. 내가 바꿀 수있을 것 같아; 그러나 GD / imagecache는 결국 더 많은 파일을 생성하므로 상태에서 수정 된 파일을 보려면 한 줄 명령을 선호합니다.
chrisjlee

1
맞아 ... 내 요점은 호출기가 터미널의 스크롤 백을 사용하지 않는다는 것입니다.
릴리 발라드

당신이 흥미 롭다고 생각하는 것에 대해 욕하는 것만으로 문제가 있습니까? 사용 --short또는 --porcelain상태를 한 줄 버전을 얻을 수 있습니다.
torek April

2
사용 제안에 따라 한 가지 더 요점 git ls-files -m: 어떤 수정 (들)에 관심이 있거나, 단계적이거나, 비 단계적이거나, 또는 둘 다?
torek

답변:


268

이 작업을 수행 할 수는 없지만 수정 된 모든 파일을 표시 git status하는 git ls-files -m데 사용할 수 있습니다 .


6
다른 사람들도 알다시피, 아직 준비되지 않은 상태에서 수정 된 파일 만 표시합니다.
Gerry

11
이것이 정답이지만 부정확 한 정보가 있습니다. git status | grep modifieduser23186이 답변에 표시 한 것처럼 " '상태 변경'파일 만 수정"할 수 있습니다 .
K. Alan Bates

9
나에게 git ls-files -m아무것도 보여주지 않고 git status | grep modified작동하고 있습니다.
Sandeepan Nath

1
다른 사람들이 지적했듯이 이것은 스테이지되지 않은 파일 만 보여줍니다. 준비되지 않은 파일과 준비된 파일을 모두 표시하려면 이것이 내가 본 가장 좋은 답변입니다. stackoverflow.com/a/39994894/452587
thdoan

1
@thdoan 준비된 파일을 표시하기위한 여러 가지 옵션이 있지만이 특정 질문은 준비된 파일을 명시 적으로 제외하려는 것 같습니다. git diff --name-only --diff-filter=M HEAD스테이지 및 비 스테이지 모두에 대해 수정 된 파일 만 표시하지만 --diff-filter추가하려는 다른 필터 유형을 확인하려면 문서를 확인해야 합니다.
릴리 발라드

57

git status -uno디렉토리에 다른 것을 표시하지 않고 git이 추적하는 파일 만 표시하는 것처럼 보입니다 . 정확히 요청한 것은 아니지만 같은 일을 수행 할 수 있습니다 (git 트랙이 읽을 수있는 길이의 파일 목록 가져 오기).


1
git status -u no(1) 수정 된 추적 파일 또는 (2) 준비된 추적 파일을 표시하지 않습니다. git 버전 1.8.5.2 및 1.9.4로 이것을 확인했습니다.
mxxk

2
@TomNysetvold, 당신이 할 수있다 실제로 평균 git status -uno( stackoverflow.com/questions/7008546/... )
mxxk


29

수정 된 파일의 경우 :

git status | grep modified:

1
유용한 정보입니다.git config --global alias.modified '!git status | grep modified:'
Richard Parnaby-King

15

git diff --name-only --diff-filter=M


2
이러한 필터를 권장합니다. git diff --cached --name-only --diff-filter=ACMR추가, 복사, 수정 및 이름이 바뀐 파일입니다.
qwertzguy


3

나는 동일한 정보를 찾고 있었고 다음과 같이 수정 된 파일을 발견했습니다.

git status -uno

2
git status -uno --porcelain파싱 ​​스크립트에 대한 좋은 출력을 추가
pprzemek

3

당신이 사용할 수있는

$ git status -uno 

수정 된 파일 만 나열합니다.


3

문제는 현재 커밋하거나 gitignore하고 싶지 않은 스크롤 된 파일이 너무 많다는 것입니다.

이렇게하면 수정 된 파일 만 나열하는 문제에 직접 대답 할 수는 없지만 나열된 파일 수를 제한하는 데 도움이 될 수 있습니다.

경로를 전달 git status하여 출력을 리포지토리의 특정 폴더로 제한 할 수 있습니다 .

예를 들면 다음과 같습니다.

git status app
git status spec
git status src/components

2

수정 된 파일을 나열하려면 다음을 사용하십시오.

git ls-files -m

기본 이름 만 (경로 없음) 원하는 경우 xargs를 사용하여 각 결과를 기본 이름 명령으로 한 줄씩 파이프 할 수 있습니다.

git ls-files -m | xargs -L 1 basename

1

나는이 명령을 사용한다 :

$ git status -uno -sb

그리고 출력은 다음과 같습니다.

## master...origin/master
 M GNUmakefile
 M include/mp4v2/project.h

0

사용 git cola합니다. 간단하고 우아한 UI 클라이언트로 수정 된 파일을 보여주고 변경 한 내용과 같은 차이점을 제공합니다.

git cola수정 한 파일, 준비한 파일 및 추적하지 않은 파일을 시각화 할 수있는 GUI를 제공합니다. 귀하의 질문은 내가 믿는 git status 만 사용하는 것이지만, git cola가 그 때와 다른 것들도 도울 수 있다고 생각했습니다. 더 많은 정보 에서이 웹 페이지를 확인하십시오 : git-cola.github.com/screenshots.html


1
이 git cola에 익숙하지 않은 경우 내 답변과 관련이있는 방법을 제공 할 수 있습니까? 예를 들어 스크린 샷 또는 더 자세한 정보?
chrisjlee

왜 다운 보트가 되었습니까? :) 어쨌든 git cola는 사용자가 수정 한 파일, 준비한 파일 및 추적하지 않는 파일을 시각화 할 수있는 GUI를 제공합니다. 귀하의 질문은 내가 믿는 git status 만 사용하는 것이지만, git cola가 그 때와 다른 것들도 도울 수 있다고 생각했습니다. 더 많은 정보에서이 웹 페이지를 확인하십시오 : git-cola.github.com/screenshots.html
n_x_l

콜라의 인터페이스 언어를 바꾸는 방법?
ziyuang


0

수정 된 모든 파일을 나열하려면 다음을 사용하십시오.

git show --stat --oneline HEAD

0

모든 위대한 답변; FEI 만 "git checkout"(같은 지점으로 또는 같은 지점으로 전환)은 수정 된 파일 만 표시하는 것으로 나타납니다.


0

운영체제 : windows

다음 명령은 "modified :" , "renamed :" 또는 "new file :"을 포함하는 모든 행을 표시 합니다.

git status | findstr "modified: renamed: new file:"

파일 유형을 지정하려는 경우 : (예 *.py *.ini:)

git status *.py *.ini | findstr "modified: renamed: new file:"

타이핑이 너무 어렵다고 생각하면 :

  1. 배치 파일 작성 (예 : st.bat)

  2. 다음과 같이 내용을 작성하십시오.

    @echo off
    :: st.bat  (this line doesn't necessarily. ( just let you know the scripts name.))
    git status %~1 | findstr "modified: renamed: new file:"
    
  3. 배치 파일이 포함 된 환경 경로를 추가하십시오. ( st.bat)

  4. 용법

    st.bat "*.py *.ini"
    

    (참고 : 유형이 1보다 크면 세미콜론을 추가해야합니다)

운영체제 : LINUX

@Lance는 당신이 시도 할 수 있다고 말합니다.

git status | grep modified:

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.