300x250

Git을 사용하면서 버전 관리를 어떻게 하는지 명령어들을 간단하게 정리해보고자 한다.

 

먼저, 버전 관리를 어떻게 시작하는지에 관한 명령어이다.

  • pwd : 현재 디렉토리를 보여준다.
  • cd : change directory (디렉토리를 변경한다.)
  • cd .. : 이전 디렉토리로 이동한다.
  • mkdir : 새로운 디렉토리를 생성한다.
  • git init . : 현재 디렉토리(.)를 git에게 버전관리 시킨다(initializing).
  • ls -al : 현재 경로의 파일과 디렉토리의 리스트를 모두 표시한다.
  • .git : git repository

 

※ nano 등의 창에서 나올 때에는 'q'를 눌러 빠져나올 수 있다.

 

 

저장 절차

 

다음으로, 버전 생성 관련 명령어는 다음과 같다.

  • nano : 파일을 생성한다.
  • cat : 파일의 내용을 출력한다.
  • git status : working tree의 상태를 출력한다.
  • git add : working tree의 수정사항(버전)을 Staging Area에 반영해준다.
    • git add . : '.'을 통해 모든 수정 사항을 staging area에 반영한다. (보통 모든 사항을 push하는 경우가 많으므로, 이를 자주 사용한다.)
  • git commit -m "" : Staging Area의 버전을 생성한다. (to Repository) (-m : 버전 생성 시의 메세지 작성)
  • git log : version의 history, information을 보여준다.
  • git diff : new version에서 어떤 것이 바뀌었는지 보여준다.

 

 

 

다음으로, checkout, 즉 과거 버전을 확인하는 명령어이다.

  • git checkout ...(commit_ID) : get log에서의 version을 되돌린다. (master가 삭제되지는 않음)
  • git checkout master : 최근이었던 상태로 돌아간다.

 

 

이번엔 버전을 삭제하거나 해당 버전으로 되돌리는 명령어를 알아보자.

  • git reset --hard ...(commit_ID) : commit_ID의 버전'으로' 돌아가며, 그 이후의 버전은 삭제한다. (어떤 버전으로 돌아갈지 주의!)
  • git revert : commit_ID의 버전 '바로 전' 버전으로 돌아가는데, commit_ID버전부터는 삭제되지 않는다. (어떤 버전으로 돌아갈 지 주의!)
  • git config --global core.editor "nano" : nano editor로 시스템 전체의 에디터를 변경한다.

 

 

그리고, 백업과 관련된 명령어를 알아보자.

  • github, gitlab 등의 사이트에서 저장소(Repository) 생성 이후
  • git remote add [name] [https] : https주소에 해당하는 repository(원격 저장소)를 지역 저장소에 연결시킨다. name은 원격 저장소의 이름(보통 origin)으로 한다.
  • git remote : 지역저장소에 연결된 원격 저장소를 보여준다.
  • git remote -v : 지역저장소에 연결된 원격 저장소의 주소들을 보여준다.
  • git push [name] : 지역저장소와 연결된 원격 저장소에 업로드한다.
  • git push --set-upstream ...(name) master : 여러 원격 저장소 중 default를 설정한다. 즉, git push만 하였을 때 어떤 원격저장소와 연결될지를 설정해주는 것이다.
  • git clone [https] [dirname] : 원격 저장소에 저장되어 있는 것들을 지역 저장소의 dirname이라는 디렉토리로 복제한다. (github 등의 'clone or download'에서 https 주소 필요) dirname 생략 시 원격 저장소의 이름으로 복제된다.
  • git pull : 원격 저장소에 저장되어 있는 (수정된 내용에 대해) 것들을 동기화시킨다.

 

백업 된 자료를 불러오고, 수정할 때에는 'clone - pull - add - commit - push'의 과정을 거친다.

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기