printf("%c의 블로그", 'Molkka');

지식조각

터미널 git 명령어 자주쓰는 것 정리

mol_kka 2021. 11. 23. 18:07

 

Git이란 내 local 컴퓨터에서 수정한 내용, 과거 히스토리를 모두 기록해두는 시스템이다.

Github는 로컬이 아닌 cloud에서 이를 관리하는 시스템으로, 다른 사람들과 코드 공유가 가능하고 협업에 용이하다.

terminal을 열고 명령어를 입력해 git을 관리한다. vscode를 사용한다면 ctrl + ` 를 눌러서 터미널 창을 열 수 있다.

 

☆ Local부터 Github까지 가려면?

내 컴퓨터에서 그냥 파일을 만들고 작업을 하면 그 파일은 local의 working directory에 저장이 된다. git을 이용해 기록하고 싶다면 우선 저장소를 생성해야 한다.

git init
: git 저장소를 생성하는 코드

git status
: 현재 git의 상태 나타냄

 

저장소를 생성했지만 아직 git에 추가하거나 commit하지 않았으므로, untracked 되어 git은 파일들을 관리하지 않는다.

 

git add (파일이름)
: 변경사항

 git add -A : 새로운 파일, 수정한 파일, 삭제한 파일 모두 add
 git add * : 새로운 파일, 수정한 파일 add, 삭제한 파일은 Stagint Area에 남아있음
 git add . : 새로운 파일, 수정한 파일 add, 삭제한 파일 Stagint Area에서도 지움

 

add 명령어로 변경됐거나 새로 생성한 파일을 local의 Staging Area로 보낼 수 있다. Staging Area는 commit 할 준비가 된 파일들이 대기하는 장소이다. 아직 commit을 하지 않았기 때문에 git directorty에는 아무런 영향을 미치지 않는다.

 

한 번이라도 add를 하거나 commit을 한 파일은 이제 tracked 되어 git의 관리를 받게 된다.

 

git commit -m "massage"   // 메세지와 함께 commit
git commit -a                  // add 해주고 commit (메세지는 따로 적어야 함)
git commit -am "massage" // add 해주고 메세지와 함께 commit

commit 명령어를 통해  Staging Area에 있던 파일들을  git directorty으로 옮겨주자. 이제 모든 파일을 local git에서 관리하며 히스토리를 기록하고 있다.

 

 

 

이제 깃허브, 즉 remote repository에 올려보자.

git remote add [repository name] [repository URL]
: 저장할 repository 주소를 연결할 때 사용하는 명령어. 깃허브에서 repository 생성 후 복붙 해야 함.

우선 깃허브에서 repository를 새로 판 다음 주소를 복사해 remote add [repository name] 뒤에 붙여준다. repository name은 보통 origin을 쓴다. 이때 깃에 올리고자 하는 local repository로 이동하고 거기에 연결해야 한다.

 

git push [repository name] [branch name]

이제 파일을 올리기 위해 push 명령어를 사용한다. git push origin master라 치면 origin이라는 이름의 repository를 master란 브랜치에 올리겠다는 것을 의미한다.

 

git clone [repository URL]

깃허브에 있는 파일들을 내려받고 싶다면 clone 명령어 뒤에 주소를 입력해주면 된다.

 

git pull

pull 명령어를 입력하면 연결된 remote repository에서 업데이트 된 내용만 받아올 수 있다.

 

 

전에 작성한 코드를 불러오려면,,

git log //(q로 나오기)
git checkout 커밋 주소
git checkout head~숫자
git checkout master

log로 지금까지의 히스토리 기록을 살필 수 있다. 돌아가고자 하는 커밋 주소를 복사한 다음 checkout 명령어 뒤에 붙이면 그 당시 파일 상태로 돌아간다. 혹은 checkout 뒤에 head~(돌아가고싶은 갯수)를 입력해도 된다. 3을 입력하면 3번째 전 커밋할 때로 돌아간다. master를 입력하면 가장 최신 걸로 다시 돌아올 수 있다.