힘내 커밋- "추적되지 않은 파일"?


93

를 수행 git commit -a하면 다음이 표시됩니다.

  # Please enter the commit message for your changes. Lines starting
  # with '#' will be ignored, and an empty message aborts the commit.
  # On branch better_tag_show
  # Changes to be committed:
  #   (use "git reset HEAD <file>..." to unstage)
  #
  # modified:   ../assets/stylesheets/application.css
  # modified:   ../views/pages/home.html.erb
  # modified:   ../views/tags/show.html.erb
  # modified:   ../../db/seeds.rb
  #
  # Untracked files:
  #   (use "git add <file>..." to include in what will be committed)
  #
  # ../assets/stylesheets/
  # ../views/pages/

추적되지 않은 파일은 무엇을 의미합니까? 모든 변경 사항이 실제로 추적되었습니다. git이 추적되지 않은 파일에 대해 경고하는 이유를 이해할 수 없습니다.

편집 :

네, 많은 혼란스러운 답변이 보입니다. 이것이 내가이 후에 일어나는 일 git commit -a입니다.

# On branch master
nothing to commit (working directory clean)

보시다시피 변경 사항이 적용된 4 개의 파일 외에는 아무것도 없습니다.

내 질문은 다음과 같이 다시 표현되어야합니다. 이 커밋의 모든 변경 사항이 추적되었을 때 git이 추적되지 않은 파일에 대해 경고하는 이유는 무엇입니까?

즉, git commit 메시지의 추적되지 않은 경고가 필요하지 않습니까?


1
(use "git add <file>..." to include in what will be committed)
zengr 2011-12-12

1
git commit -a는 추적 된 파일에 대한 모든 변경 사항을 커밋하기 때문에 필요하지 않습니다.
2011

3
그것은 이다 파일이 된 적이 필요한 경우 add지금까지 에드 없습니다. 에 대한 문서에서 -a: 수정 및 삭제 된 파일을 자동으로 스테이징하도록 명령에 지시하지만 git에게 알리지 않은 새 파일은 영향을받지 않습니다 .
Noufal Ibrahim

왜 git이 '경고'한다고 말합니까? 내가보기에 '추적되지 않은'파일 메시지는 정보 제공 용입니다. 해당 파일을 관리하고 그에 따라 조치를 취해야하는지 확인하는 것이 좋습니다.
sateesh

@sateesh 뭐라고 부르고 싶은지 나는 여전히 이것이 전혀 도움이되지 않는다고 생각합니다. 이것이 어떻게 유익합니까? 나는 무엇을해야합니까? 위에 나열된 파일을 제외하고는 다른 파일에 대한 수정 사항이 없다고 쓴 "편집"섹션에서 내 게시물을 읽었습니까? 이 정보가 유용하다고 생각되면 걱정할 것이 없을 때 리포지토리 트리의 임의의 폴더가 추적되지 않는다고 말하는 것과 같습니다.
disappearedng

답변:


105

같은 문제가있는 다른 사람은 실행 해보십시오.

git add . 추적 할 현재 디렉터리의 모든 파일 (추적되지 않음 포함)을 추가 한 다음

git commit -a 추적 된 모든 파일을 커밋합니다.

@Pacerier가 제안한 것처럼 동일한 작업을 수행하는 라이너는

git add -A


5
git commit -a추적되지 않은 파일을 추적하지 않고 추적 된 모든 파일을 커밋합니다. git add .현재 디렉토리에서 추적되지 않은 파일을 추적합니다. git add -a추적되지 않은 모든 파일을 추적합니다.
여기에서

@matteo 그것은 git add -A아닙니다 git commit -A. 내가 알 수있는 한, git commit추적되지 않은 파일을 포함 하여 전달할 수있는 스위치는 없습니다 .
Len

1
-a는 지금 A에 대해 더 이상 사용되지 않는 것 같습니다. 감사합니다. 모두 똑같습니다. :)
tcratius

이러한 명령에 대한 자세한 내용은 다음을 참조하십시오. stackoverflow.com/questions/572549/…
Onat Korucu

30

git commit -am "msg"하지가와 동일 git add file하고git commit -m "msg"

git 추적에 추가되지 않은 파일이있는 경우에도 수행해야합니다. git add file

"git commit -a"명령은 2 단계 프로세스의 지름길입니다. 리포지토리에 이미 알려진 파일을 수정 한 후에도 리포지토리에 "이봐! 이 파일을 준비된 파일에 추가하고 최종적으로 커밋하고 싶습니다. " "git add"명령을 실행하면됩니다. "git commit -a"는 파일을 스테이징하고 한 단계로 커밋합니다.

출처 : "git commit -a"및 "git add"


그러나, 당신이 말했듯이 git commit -a = git add. 이 .... 추적 영역 ??에 파일을 자동으로 추가하지 왜 + 커밋 자식
조니

1
@Johnny : +와 git commit -a같지 않습니다 . 단계는 추가 수정으로 나열됩니다 파일 만 사용자의 현재 디렉토리가 아닌 다. git add .git commitgit addgit status
Soren Bjornstad

네, 오늘 그것을 발견했습니다!
KansaiRobot

9

명령 줄에 입력해야합니다.

git add --all

추적되지 않은 모든 파일을 커밋합니다.

편집하다:

파일을 준비한 후 커밋 할 준비가되었으므로 다음 명령은

git commit -am "Your commit message"

5
스테이지 의 모든 파일이 아니라 커밋 을. 여전히 별도로해야합니다.
Saeb Amini

8
  1. 먼저 추적되지 않은 모든 파일을 추가해야합니다. 다음 명령 줄을 사용하십시오.

    git add *

  2. 그런 다음 다음 명령 줄을 사용하여 커밋합니다.

    git commit -a


7

추적되지 않은 파일에 문제가있는 경우이 3 줄 스크립트가 도움이 될 것입니다.

git rm -r --cached .
git add -A
git commit -am 'fix'

그럼 그냥 git push


내가 지금 무시하고있는 추적 된 파일을 추적 해제해야했기 때문에 이것은 나를 위해 욱신 거린다.
스파이더 맨

2

이름에서 알 수 있듯이 '추적되지 않은 파일'은 git에 의해 추적되지 않는 파일입니다. 스테이징 영역에 없으며 이전 커밋의 일부가 아닙니다. 버전을 지정하려면 (또는 git에 의해 관리되도록) 'git add'를 사용하여 'git'에게 알려 주면됩니다. 이 장 확인 저장소에 기록 변경 에서 Progit의 자식의 repo에 대한 변경 사항을 기록하고 또한 용어 '추적'을 설명하고 '비 추적'에 대한 좋은 설명을 제공하는 멋진 비주얼을 사용하여 책을


0

파일을 커밋하거나 추가하기 전에 .git 폴더 구성을 찾을 수 있도록 로컬 git의 올바른 디렉토리 (저장소 기본 폴더)에 있는지 확인합니다.


이것은 질문에 대한 답을 제공하지 않습니다. 작성자에게 비평이나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. - 리뷰에서
sampathsris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.