새 프로젝트를 초기화합시다.
$mkdir프로젝트
$CD프로젝트
$자식 초기화
초기화된 빈 Git 저장소~에 /사용자/zakh_eecs/_일하다/배우기GIT/git_add/프로젝트/.가다/
$던졌다 '새로운 과제' >읽어보기.txt
$자식 추가읽어보기.txt
$자식 커밋 -미디엄 '초기 커밋'
[주인(루트 커밋)47b9af1]초기 커밋
1 파일변경,1삽입(+)
생성 모드100644읽어보기.txt
이 프로젝트에서 ReadMe.txt 파일을 추가했습니다. git add 명령을 사용하여 ReadMe.txt를 추가했습니다. add 명령은 파일을 추가하기 위한 것만이 아닙니다. 또한 모든 파일 수정을 추가합니다. 이 자습서에서는 간단하게 유지하기 위해 파일을 추가 및 삭제만 합니다. 그러나 추가 명령은 준비 영역에 변경 사항을 추가하는 것으로 생각하십시오. 그런 다음 커밋 명령을 사용하여 변경 사항을 공식화해야 합니다.
많은 파일과 폴더를 처리할 때 각 변경 사항을 개별적으로 추가하기가 어렵습니다. 따라서 다음 명령을 사용할 수 있습니다.
$자식 추가.$자식 추가 -에게
두 명령이 어떻게 작동하는지 살펴보겠습니다.
$ 터치 a.txt b.txt c.txt$ 자식 추가 .
$ 자식 상태
브랜치 마스터에서
커밋할 변경 사항:
('git reset HEAD ...'를 사용하여 스테이지 해제)
새 파일: a.txt
새 파일: b.txt
새 파일: c.txt
$ git commit -m 'a.txt, b.txt, c.txt 추가'
[마스터 9ca90fc] a.txt, b.txt, c.txt 추가
3개 파일 변경, 0개 삽입(+), 0개 삭제(-)
생성 모드 100644 a.txt
생성 모드 100644 b.txt
생성 모드 100644 c.txt $만지다x.txt y.txt z.txt
$자식 추가 -에게
$자식 상태
브랜치 마스터에서
커밋할 변경 사항:
(사용하다'git reset HEAD ...'무대를 풀다)
새 파일: x.txt
새 파일: y.txt
새 파일: z.txt
$자식 커밋 -미디엄 'x.txt, y.txt, z.txt 추가'
[마스터 8af8c12]x.txt, y.txt, z.txt 추가
삼변경된 파일,0삽입(+),0삭제(-)
생성 모드100644x.txt
생성 모드100644y.txt
생성 모드100644z.txt
두 옵션 모두 동일하게 작동하는 것 같습니다.
더 조사하기 위해 작업 디렉토리의 루트 수준에 무언가를 추가한 다음 폴더에 더 많은 파일을 추가하는 상황을 만들어 보겠습니다.
$만지다 1.txt$mkdir새로운
$CD새로운
$만지다m.txt n.txt o.txt
$자식 추가.
$자식 상태
브랜치 마스터에서
커밋할 변경 사항:
(사용하다'git reset HEAD ...'무대를 풀다)
새 파일: m.txt
새 파일: n.txt
새 파일: o.txt
추적되지 않은 파일:
(사용하다'아이 추가 ...'포함하는~에무엇을 약속할 것인가)
../1.txt
Git은 상위 폴더에 1.txt 파일을 추가하지 않았습니다.
nested with d.txt 파일을 생성하고 git add를 사용한다면. 명령을 다시 실행하면 o.txt가 추가되었지만 1.txt가 아직 추가되지 않은 것을 볼 수 있습니다.
$mkdir중첩$만지다중첩/d.txt
$자식 추가.
$자식 상태
브랜치 마스터에서
커밋할 변경 사항:
(사용하다'git reset HEAD ...'무대를 풀다)
새 파일: m.txt
새 파일: n.txt
새 파일: 중첩/d.txt
새 파일: o.txt
추적되지 않은 파일:
(사용하다'아이 추가 ...'포함하는~에무엇을 약속할 것인가)
../1.txt
이제 git add -A 명령을 사용해 보겠습니다.
$자식 추가 -에게$자식 상태
브랜치 마스터에서
커밋할 변경 사항:
(사용하다'git reset HEAD ...'무대를 풀다)
새로운 파일: ../1.txt
새 파일: m.txt
새 파일: n.txt
새 파일: 중첩/d.txt
새 파일: o.txt
이제 폴더의 1.txt가 준비 영역에 추가되었습니다.
폴더 모양은 다음과 같습니다.
|--1.txt
|--ReadMe.txt
|--a.txt
|--b.txt
|--c.txt
|--x.txt
|--y.txt
|--z.txt
`-- 새로운
|--m.txt
|--n.txt
|--o.txt
`-- 중첩
|--d.txt
따라서 git add 를 사용할 때 . 명령을 실행하면 해당 수준의 모든 변경 사항이 추가됩니다. 그러나 git add -A 옵션을 사용하면 모듈 전체에서 수정 사항을 찾아 추가합니다.
결론
Git add 명령은 수정된 파일을 추가하는 강력한 방법을 제공합니다. 코드의 자연 디렉토리 계층을 사용하여 추가되는 항목을 제어할 수 있습니다.