본문 바로가기
etc

git - 1 저장소

by 스르나 2020. 7. 6.

깃 저장소 만들기

 

깃 저장소를 만드는것은 간단하다. 우선 내가 원하는 위치에 프로젝트를 만들 폴더를 만든다. 이글에서는 바탕화면에 만든다. 깃 커맨드라인으로 만들겠다.

 

 

위처럼 바탕화면에 git_1이라는 폴더를 만들고 git_1로 이동했다. 그다음 이 폴더를 깃 저장소로 만들기 위해서 필요한 명령어는 git init이다. 이 명령어를 실행하면 해당 폴더는 깃 저장소가 된다.

 

 

깃 저장소로 만들었는데 모니터 화면의 git_1폴더는 빈 폴더로 나와있다. 하지만 커맨드라인에서 ls -al 명령어를 치면 해당 폴더에 .git파일이 있음을 알 수 있다.

 

.git 파일은 해당 저장소의 깃 정보를 관리하고 저장하는 역할을 하는데 보다싶이 숨겨진 파일로 저장되어있다.

 

여기까지만 하면 우리는 git저장소를 만든것이다.

 

파일 커밋하기

그다음은 파일을 커밋해서 깃에 저장해 보자.

 

우선 연습용이니 간단한 텍스트 파일로 한다. 해당 폴더에 test.txt파일을 만드는데 커맨드라인에서 vim으로 만들어도 상관없다.

 

그런 다음 이제 이 test.txt파일을 깃에 저장할 텐데 여기서 중요한 개념이 한가지 있다. 우리의 깃 저장소는 3가지 영역이 있다. 3가지 영역이란 작업트리, 스테이지, 저장소이다.

 

출처: https://medium.com/sjk5766/git-3%EA%B0%80%EC%A7%80-%EC%83%81%ED%83%9C%EC%99%80-%EA%B0%84%EB%8B%A8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC-a80161aacec1

 

우선 작업트리는 우리가 현재 눈으로 보고있는 폴더이면서 현재 작업중인 내용들이 있는  곳이다.

 

그 다음 스테이지는 작업하던것을 이제 버전관리를 위해 저장하기 직전에 대기하는 장소이다.

 

마지막으로 저장소는 버전관리를 위해 최종 저장하는 장소이다.

 

항상 순서는 작업 -> 스테이지에 올리기 -> 저장소에 올리기  이 순서이다.

 

우리는 test.txt라는 파일을 만들었기 때문에 작업을 완료했다고 생각하고 이제 스테이지에 올려볼 것인데

우선 현재 이 저장소의 상태를 보기 위해 깃의 상태를 확인하는 git status 명령어를 사용해보자

 

그러면 위와같이 Untracked files라는 것과 함께 우리가 만든 test.txt파일이 나온다. 이화면은 현재 test.txt파일이 단 한번도 깃에 의해 관리된적이 없기 때문에 나온 화면이다. 즉, 앞으로 프로젝트를 수행하다 새로 만든 파일들은 깃 상태 확인시 위와같이 나올 것이다. 당연하게도 한번이라도 깃에 저장된 파일들은 수정후에 위와 같이 Untracked files라는 말과함께 나오지 않는다.

 

그럼 이제 한번 스테이지에 오릴는 git add 명령어를 사용해보자 git add 명령에 뒤에 스테이지에 올릴 파일 이름을 확장자명과 함께 입력을 하던가 현재 프로젝트 전체를 올리기위해 git add *을 루트위치에서 올리던가 현재 위치의 모든 파일을 올리는 git add .을 치면된다.

 

  • git add 파일이름.확장자: 한가지 파일만
  • git add *: 프로젝트 루트위치에서 프로젝트 전체
  • git ad . : 현재위치에서 모든 파일들

 

warning은 윈도우와 리눅스의 차이라 나오는 메세지이니 무시해도 좋다.

 

이렇게 git add 명령어만 실행해주면 파일이 스테이지에 올라간 것이다. 스테이지와 저장소단계는 우리 눈에 보이지 않는 가상의 위치이니 눈에 보이는 변화가 없다고 신경쓰지 말자.

 

그 다음 다시 git status로 깃의 상태를 확인해 보자

 

 

그러면 이제는 Changes to be committed라는 메세지와 아래 새파일이라면서 test.txt파일이 나온다. Changes to be committed라는 메세지는 스테이지에 현재 파일이 올라와 있고 커밋할 준비가 되었다는 뜻이다.

 

그렇다면 이제 커밋을 해서 저장소에 넣어보자.

 

git commit -m '커밋 메세지'

 

위명령어를 치면 된다.

 

 

위 명령어를 치고 git status를 치면 저장소에 최종적으로 올라 갔기 때문에 작업이 완료된 것 처럼 working tree clean이 나온다.

 

 

이제 test.txt파일을 수정한 후 git status를 해보자

 

 

test.txt파일은 이제 저장소에 저장되어 한번 관리된 이력이 있으니 Untracked files가 나오지 않고 변경된 파일로 처리가 되어 나온다.

 

 여기서부터는 git add명령어 부터 순서가 같다.