[git] Git Add


1. git add 설명
2. git add 실습
3. git rm –cached
4. git add -A 와 git add . 차이


git add 설명

git에 해당 파일의 file history를 추가하는 명령


git add 실습

3개의 a.txt, b.txt, c.txt를 아래 명령어와 같이 생성한다.

echo a1 >> a.txt

echo 명령어로 txt파일 생성

아래 명령어로 a.txt만 git add한다.

git add a.txt

a.txt만 git add를 했으므로 a.txt만 tracking 되고 있다.
아래처럼 git status로 보면 a.txt만 staged area로 옮겨져 있는 것이 보인다.

a.txt파일 git add

a.txt 파일을 수정하고 status를 보면 modified라고 git이 확인하고 있는 것을 볼 수 있다.

a.txt파일 modified


파일들을 하나씩 추가 하는 것보다 아래 명령어들을 통해 한번에 add 할 수 있다.

git add *.txt

모든 txt파일 들만 add 한다는 명령어

git add .

같은 폴더 내 모든 파일과 하위 폴더에 있는 모든 파일들을 추가 한다는 명령어

git add -A

같은 폴더, 상위 폴더, 하위 폴더에 있는 모든 파일들을 추가 한다는 명령어


git rm –cached

git add로 stage 상태(file history를 tracking 하는 상태)로 올렸던 파일을
다시 unstage 상태(file history를 tracking 하지 않는 상태)로 되돌리는 명령어

git rm --cached a.txt

이렇게 한 파일만 써서 할 수 있고

git rm --cached *

이렇게 모든 파일들을 되돌릴 수 있다.

a.txt파일 다시 unstage상태로 되돌림

git status로 보면 다시 untracked file에 a.txt파일이 내려가 있는 것을 볼 수 있다.


git add -A 와 git add . 차이

비교를 하기 위해 하위폴더인 login폴더를 생성한다.
login폴더내에 d.txt와 e.txt를 생성한다. login폴더내 signup폴더를 만들고 f.txt를 생성한다.

login폴더 내 d.txt, e.txt 파일 생성과 signup폴더 내 f.txt 파일 생성

login 폴더로 옮겨 가서 git add -A를 한다. 현재 login 폴더에 있는 파일들, 하위 폴더인 signup 폴더에 있는 파일들과 상위 폴더에 있는 모든 파일들이 staged상태에 올라가 있는 것을 볼 수 있다.

login폴더에서 git add -A

모든 파일을 unstage로 되돌리고 다시 login 폴더내에서 git add .를 한다. 상위 폴더에 있는 파일들 제외하고 현재 폴더에 있는 파일들과 하위폴더에 있는 파일들만 staged상태에 올라가 있는 것을 볼 수 있다.

login폴더에서 git add .


Discussion and feedback