힘내 수정, 삭제 및 추적되지 않은 모든 파일을 추가 하시겠습니까?


답변:


307

시험:

git add -A

경고 : git 2.0 (2013 년 중반)부터는 항상 전체 작업 트리에서 파일 준비합니다 .
작업 트리의 현재 경로 아래에 파일을 준비하려면 다음을 사용해야합니다.

git add -A .

참조 : 차이점 git add -Agit add .


이것은 나를 위해 작동하지 않았다 ...이 토론에서 어떻게 터미널 입출력을 보여줄 수 있습니까? 이 토론에 대한 답변으로 내 터미널 출력을 복사하여 붙여 넣습니까?
Rakib

여기에 내가 직면하고있는 문제는 - stackoverflow.com/q/7726131/636762 -이 하나 제발 친절하게 도움 나
Rakib

git 버전이 오래된 경우에도 작동하지 않습니다. git 1.5.2.5를 실행하는 서버에서 스크립트를 실행 중이었습니다. git add -A가 작동하지 않았습니다. 스크립트에서 오류 메시지가보고되지 않았습니다. 커맨드 라인에서만 -A가 합법적 인 옵션이 아니라는 것을 알았습니다.
시조

하지만 커밋 할 때마다 파일을 추가 해야하는 이유는 무엇입니까? 파일을 변경할 때마다 파일을 추가해야합니다.
Frade

3
이것이 바로 Git의 작동 방식입니다. 커밋하기 전에 준비 영역에 변경 사항을 추가해야합니다. 예를 들어, 모든 파일 대신 항상 일부 파일 만 커밋에 추가하고 주석을 제공 할 수 있습니다. 여기에 이것이 무엇을하고 있는지에 대한 간단한 설명이 있습니다 : gitready.com/beginner/2009/01/18/the-staging-area.html
Kilanash

75

시험

git add -u

" u"옵션은 업데이트를 나타냅니다. 이렇게하면 저장소가 업데이트되고 로컬 복사본에서 삭제 한 저장소에서 실제로 파일이 삭제됩니다.

git add -u [filename]

하나의 파일로 삭제를 준비합니다. 한 번 누르면 파일이 더 이상 저장소에 없습니다.

또는

git add -A .

에 해당

git add .

git add -u .

여분의 '.'에 유의하십시오. 에 git add -Agit add -u


경고 : git 2.0 (2013 년 중반)부터는 항상 전체 작업 트리에서 파일 준비합니다 .
작업 트리의 현재 경로 아래에 파일을 준비하려면 다음을 사용해야합니다.

git add -A .

참조 : 차이점 git add -Agit add .


42

다음 답변은 Git 버전 1.x에만 적용되지만 Git 버전 2.x에는 적용됩니다.

당신이 원하는 git add -A:

git add -A 모든 단계;

git add . 삭제하지 않고 새롭고 수정 된 단계;

git add -u 새로운 단계없이 수정 및 삭제 된 단계.


위의 내용은 Git 1.x에만 적용됩니다. git 버전 2.x의 경우 git add -A와 같습니다 git add .. 자세한 내용은 여기 를 참조 하십시오 .
jdhao

27

git add --all git add -A 또는 git add -A . 모두 스테이지

git add . 신규 및 수정 된 스테이지 그러나 삭제하지 않고

git add -u 단계 수정 및 삭제 하지만 새없이

git commit -a수단 git add -ugit commit -m "message"

이 명령을 작성한 후 다음 단계를 수행하십시오.

  1. 프레스 i
  2. 당신의 메시지를 작성
  3. 프레스 esc
  4. 프레스 :wq
  5. 프레스 enter

git add <list of files> 특정 파일 추가

git add *.txt 현재 디렉토리에 모든 txt 파일을 추가하십시오.

git add docs/*/txt docs 디렉토리에 모든 txt 파일을 추가하십시오.

git add docs/ docs 디렉토리에 모든 파일 추가

git add "*.txt"또는 git add '*.txt'전체 프로젝트에 모든 파일을 추가하십시오


12

삭제 된 파일을 추가할지 확실하지 않지만 git add .루트에서 추적되지 않은 모든 파일을 추가합니다.


삭제 된 파일을 추가하는 방법에 대한 내 답변을 참조하십시오
Matt Kneiser

5

이것은 내 대안입니다 (모든 bash에서).

$ git status -s|awk '{ print $2 }'|xargs git add

재설정

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD

5

커맨드 라인 git lover를위한 친근한 환경 인 G2 프로젝트를 작성했습니다.
github에서 프로젝트를 가져 오십시오-G2 https://github.com/orefalo/g2

그것은 많은 편리한 명령을 가지고 있으며, 그중 하나는 정확히 당신이 찾고있는 것입니다 : freeze

freeze- 리포지토리의 모든 파일 (추가, 삭제, 수정)을 스테이징 영역에 고정하여 다음 커밋에 포함 할 컨텐트를 스테이징합니다. 매개 변수로 특정 경로를 수락하십시오.


5

에 대한 최신 버전 의 Git.

나는 이것을 시도 git add -A하고 프롬프트했다.

경고 : 트리의 하위 디렉토리에서 경로 인수가없는 'git add --all (또는 -A)'의 동작은 Git 2.0에서 변경되므로 더 이상 사용해서는 안됩니다. 전체 트리의 내용을 추가하려면 다음을 실행하십시오.

git add --all : / (또는 git add -A : /)

현재 디렉토리로 명령을 제한하려면 다음을 실행하십시오.

git add --all (또는 git add -A)

현재 Git 버전에서는 명령이 현재 디렉토리로 제한됩니다.


그런 다음 아래에서 작동했습니다 .

git add --all :/

3

버전 2.0부터 시작하는 Git 문서에서 :

전체 트리의 내용을 추가하려면 다음을 실행하십시오.

git add --all :/

또는

git add -A :/

현재 디렉토리로 명령을 제한하려면 다음을 실행하십시오.

git add --all .

또는

git add -A .

2

다음 줄을 사용하여 .gitignore에 나열된 파일을 제외하고 수정되고 새로 작성된 모든 파일을 준비합니다.

git add $(git ls-files -mo --exclude-standard)

(구문 $ ()은 bash 쉘을위한 것입니다). 명령 줄 옵션 -mod가 삭제 된 파일도 추가해야한다고 생각합니다. 공백이 포함 된 파일 이름이있는 경우 다음 한 줄짜리가 트릭을 수행해야합니다.

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.