본문 바로가기
쿤즈 DevTool/Git

[Git] git 에 파일 추가하는 방법 git add

by :)Koon 2021. 3. 22.

지난 포스팅에서는 내 프로젝트 디렉토리를 git에 추가해서 초기화작업을 해주거나 현재 작업된 내역을 삭제하는 방법을 알아보았습니다.

2021.03.20 - [쿤즈 DevTool/Git] - [Git] git 버전, 환경설정, 초기화, 삭제하기

현재 디렉토리를 git에 추가했으니 이제 파일들을 추가해서 소스관리를 해봐야 합니다. git은 로컬에서 작업이 가능하고 공유를 위해서만 네트워크가 필요하기 때문에 모든 작업은 로컬에서 진행합니다.

 

 

오늘 포스팅에서는 파일을 추가하는 git add 옵션에 대해서 알아보도록 하겠습니다.


파일 추가 명령어 git add

git에 파일을 추가하기 위한 명령어는 git add 입니다. 이렇게되면 staged라는 곳에 파일이 추가되고 관리대상이 되는 것입니다. 실습을 위해서 파일 3개를 임의로 생성해 보도록 하겠습니다.


빈 파일 생성 touch

Linux 관련 명령어중 빈 파일을 생성해 주는 명령어는 touch 입니다. 이 명령어를 이용해서 파일 3개 (index.js, index.html, index.css)를 생성해 보도록 하겠습니다.

% touch index.js
% touch index.html
% touch index.css

touch 명령어를 이용해서 파일 3개를 생성했고 모두 빈 파일입니다. 그리고 파일이 생성되었는지 확인하기 위해서 'ls -l'명령어를 통해서 확인해 보았습니다.


현재 상태 확인 status

git의 현재 파일 관리 상태를 확인하기 위해서 다음과 같은 명령어를 입력합니다.

% git status

현재 상태를 확인해보면 먼저 On branch master 라고 나옵니다. 이 관련 내용은 추후에 다시 포스팅 하도록 하겠습니다.

두 번째는 현재 commit된 소스들은 없다고 나옵니다.

세 번째는 Untracked files라고해서 현재 관리대상에 포함되어있지 않은 파일들이 나타납니다. 그리고 친절하게 이 파일들을 추가하기위해서 사용하는 명령인 "git add <file>..."를 사용하라고 나오네요. 그럼 사용을 해보겠습니다.


소스파일 추가 git add

가장 먼저 index.js파일을 추가해 보도록 하겠습니다.

% git add index.js

git add 명령어를 이용해서 index.js 파일을 추가했습니다. 그리고 상태를 확인하기 위해서 git status로 확인해 보았습니다. 그럼 변경된 현태가 보이실 겁니다. Changes to be committed에 new file이 있고 index.js가 추가된 것을 확인할 수 있습니다.

 

만약 추가를 잘못해서 이를 삭제하고 싶을때, 즉 unstage 하고 싶을 때에는 역시 친절하게 사용법을 알려주네요. 사용해 보겠습니다.


추가된 소스 제거 git rm --cached

추가된 소스를 제거하는 명령어는 git rm --cached 입니다. 직접 실행해 보겠습니다.

% git rm --cached index.js

이 명령어를 이용했때 추가된 index.js파일이 다시 Untracked로 변경됨을 볼 수 있습니다. 그럼 파일을 하나하나 추가해 줘야 할까요? 전체를 한번에 추가하는 방법이 있습니다.


파일 전체 추가 git add .

앞서 현재 디렉토리를 점(.)으로 표현한다 했습니다. 이번에도 이를 이용해 보겠습니다. 현재 디렉토리에 있는 모든 소스를 추가해 보도록 하겠습니다.

% git add .

점(.)을 이용해서 현재 디렉토리에 있는 모든 소스를 git에 추가했습니다. git status 명령어를 이용해서 확인 할 수 있습니다. 하지만 이것도 모든 소스를 다 포함시킨다고 하기엔 부족한 점이 있습니다. 그래서 정말 git에 포함시킨 프로젝트의 모든 소스를 포함시키는 방법 알아보겠습니다.


프로젝트 내 모든 소스 추가 git add -A

테스트를 위해서 모든 소스들은 unstage 상태로 만들어 줍니다. 그리고 디렉토리를 만들고 내부로 이동해서 다시 파일 하나를 추가적으로 생성해 보겠습니다.

% git rm -r --cached .
% mkdir test
% cd test
% touch test.js

현재 디렉토리에 있는 모든 소스를 제거하기 위해서 git rm --cached . 을 이용합니다. 하지만 다음과 같은 에러가 발생합니다.

반복적으로 여러개의 파일을 지우기 위해서는 -r 옵션을 추가해 주라고 하네요. 그래서 git rm -r --cached . 으로 명령어를 수정했습니다.

이 상태에서 현재 git의 상태를 한번 확인해 보도록 하겠습니다.

점 두개(..)은 상위 디렉토리를 의미합니다. 여기서 이전에 입력했던 현재 디렉토리 전체를 추가해 보겠습니다.

% git add .

현재 디렉토리에 있는 test.js만 추가되고 상위 디렉토리에 있는 것들은 추가가 되지 않습니다. 따라서 프로젝트 내 모든 파일을 추가해주기 위해서 git add -A 옵션을 사용해 보겠습니다.

% git add -A

프로젝트 내 모든 파일들이 추가된 것을 확인 할 수 있습니다.


오늘 포스팅에서는 git 명령어중에서 파일을 추가하는 방법을 알아보았습니다. 원하는 파일만 추가 혹은 삭제할 수 있으며 전체 프로젝트 파일을 추가할 수도 있습니다. Linux와 같이 쉘 명령어는 자주 사용해야 익숙해지게 됩니다. 도움이 되셨으면 합니다. 이상입니다.

댓글