"git add -a"와 "git add"사이의 차이점


질문

 

GIT add [--all | -a]가 Git Add와 동일한 것으로 나타납니다.그렇지 않다면 어떻게 다른가요?


답변

 

이 답변은 Git 버전 1.x에만 적용됩니다.Git 버전 2.x의 경우 다른 답변을 참조하십시오.


요약:

git add -a 모든 변경 사항을 단계별로합니다 git add.삭제 (현재 디렉토리 및 해당 서브 디렉토리에서)를 사용하지 않고 새 파일 및 수정을 단계별합니다. 새 파일이없는 Git Add -u 단계 수정 및 삭제


세부 사항:

git add -a는 git add와 같습니다.;git add -u.

git add에 대한 중요한 지점.작업 트리를보고 변경되거나 새롭지 않고 무시되지 않고 무시되지 않고 무시되지 않거나 무시되지 않으면 모든 경로를 추가합니다.

Git Add -u는 이미 추적 된 모든 파일을보고 있으며 해당 파일이 다른 경우 또는 제거 된 경우 해당 파일의 변경을 단계별합니다.새 파일을 추가하지 않으므로 이미 추적 된 파일 만 변경됩니다.

Git Add -a는 두 가지 모두를 수행하기위한 편리한 바로 가기입니다.

차이점을 다음과 같이 테스트 할 수 있습니다 (Git 버전 2.x는 Git add에 대한 출력을위한 것입니다. Git 상태는 다릅니다).

git init
echo Change me > change-me
echo Delete me > delete-me
git add change-me delete-me
git commit -m initial

echo OK >> change-me
rm delete-me
echo Add me > add-me

git status
# Changed but not updated:
#   modified:   change-me
#   deleted:    delete-me
# Untracked files:
#   add-me

git add .
git status

# Changes to be committed:
#   new file:   add-me
#   modified:   change-me
# Changed but not updated:
#   deleted:    delete-me

git reset

git add -u
git status

# Changes to be committed:
#   modified:   change-me
#   deleted:    delete-me
# Untracked files:
#   add-me

git reset

git add -A
git status

# Changes to be committed:
#   new file:   add-me
#   modified:   change-me
#   deleted:    delete-me


답변

Git 버전 1.x.

Command New Files Modified Files Deleted Files Description
git add -A ✔️ ✔️ ✔️ Stage all (new, modified, deleted) files
git add . ✔️ ✔️ Stage new and modified files only in current folder
git add -u ✔️ ✔️ Stage modified and deleted files only

Git 버전 2.x.

Command New Files Modified Files Deleted Files Description
git add -A ✔️ ✔️ ✔️ Stage all (new, modified, deleted) files
git add . ✔️ ✔️ ✔️ Stage all (new, modified, deleted) files in current folder
git add --ignore-removal . ✔️ ✔️ Stage new and modified files only
git add -u ✔️ ✔️ Stage modified and deleted files only

긴 - 양식 플래그 :

Git Add -a는 Git Addall.와 동일합니다 Git Add -u는 Git Add -Update와 동일합니다

추가 읽기 :

초보자를위한 git : 확실한 실용적인 가이드 자원을 배우는 자료 Git Branching을 배우십시오 D3와 함께 Git을 설명하십시오



답변

Git 2.0을 사용하면 git add -a가 기본값입니다 : git add.git add -a ...

git add 는 "git add -a "와 동일합니다. "Git Add Dir /"는 디렉토리에서 제거한 경로를 알아 차리고 제거를 기록하십시오. 이전 버전의 git에서 "git add ad "는 무시 제거됩니다. "Git Add-remove "라고 말할 수 있습니다. 실제로 원한다면 에 추가 또는 수정 된 경로 만 추가하십시오.

git add -a는 git add와 같습니다. / (맨 위 git repo 폴더에서 모든 것을 추가하십시오). Git 2.7 (2015 년 11 월)을 사용하면 ":"라는 폴더를 추가 할 수 있습니다. Junio C Hamano (Gitster)의 Commit 29Abb33 (2015 년 10 월 25 일)을 참조하십시오.


GIT add에 대해 이야기 할 때 Git 2.0 (Q1 또는 Q2 2014)을 시작하십시오.(작업 트리의 현재 경로), 당신은 '사용해야합니다.'다른 Git에서도 추가 명령을 추가합니다.

그것의 의미는:

"Git add -a". ""git add. git add -u"와 같습니다.

(Git Add -a 및 Git Add -u에 대한 '여분의' '.

git add -a 또는 git add -u가 전체 작업 트리에서 전체 작업 트리에서뿐만 아니라 현재 경로뿐만 아니라 Git 2.0을 시작하는 것입니다.

이러한 명령은 "git commit -a"및 기타 명령과 일관성을 위해 Git 2.0의 전체 트리에서 작동합니다. "git add -u"를 만드는 메커니즘이 없기 때문에 "git add -u"처럼 행동하는 것처럼 행동합니다.현재 서브 디렉토리에서 손가락을 훈련하기 시작하여 "Git Add -u"라고 명시 적으로 말합니다.Git 2.0이 오기 전에 그들이 의미 할 때 의미합니다. PathSpec 없이이 명령을 실행하고 현재 디렉토리 외부 로컬 변경 사항이있는 경우 경고가 발행되며 Git 2.0의 동작이 다르기 때문에 경고가 실행됩니다. 오늘의 상황에서 오늘의 버전에서.



답변

찰스의 지침에서 제안 된 이해를 테스트 한 후 다음과 같습니다.

# For the next commit
$ git add .   # Add only files created/modified to the index and not those deleted
$ git add -u  # Add only files deleted/modified to the index and not those created
$ git add -A  # Do both operations at once, add to all files to the index

이 블로그 게시물은 이러한 명령이 적용될 수있는 상황에서 이해하는 것이 도움이 될 수도 있습니다. Git 작업 디렉토리에서 삭제 된 파일을 제거합니다.



답변

GIT 2.0으로 변경된 것들 (2014-05-28) :

- 이제 기본값입니다 이전의 행동은 이제 --ignore-removal에서 사용할 수 있습니다. 명령 줄에 경로가없는 하위 디렉토리에 -a add -a add -a가 전체 트리에서 작동합니다.

Git 2의 경우 대답은 다음과 같습니다.

git add.그리고 git add -a.현재 디렉토리에 새 / 수정 / 삭제 된 파일 추가 Git Add - Nignore-Removal.현재 디렉토리에 새 / 수정 된 파일을 추가합니다 git add -u.현재 디렉토리에 수정 / 삭제 된 파일을 추가합니다 점이 없으면 현재 디렉토리에 관계없이 프로젝트에 모든 파일을 추가하십시오.



답변

in git 2.x :

작업 디렉토리에 직접 위치한 경우 git add -a 및 git add를 추가하십시오.차이없이 일하십시오. 작업 디렉토리의 하위 디렉토리에있는 경우 git add -a는 전체 작업 디렉토리에서 모든 파일을 추가하고 Git Add를 추가합니다.현재 디렉토리에서 파일을 추가합니다.

그리고 그게 전부입니다.

출처:https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add