본문 바로가기
language/git

Git 사용법 정리(익숙해지기)

by 파란하늘코더 2020. 11. 11.
반응형

 

git은 파일의 변경 내용을 추적하며 버전을 관리하기 위한 분산 버전 관리 시스템이다

 

누가 어디서, 무엇을, 왜 바꾸었는지를 저장하며 관리하는데 이를 저장하는 곳을 Repository라고 부른다

 

이는 협업을 통한 프로그램을 작성할 때 요긴하게 쓰이는데

 

우리가 단순히 Ctrl+c, Ctrl+v를 이용하여 코드를 저장하고 관리하다 보면 이력 정리가 안돼서 난감한 부분을 이 프로그램이 대신 깔끔하게 정리해준다

 

 

1. 생성

 - 관리를 하고 싶은 폴더 위치에서 git init을 하면 아래와 같이 git 파일이 생기게 된다 

 - git을 사용할 환경만 만들어 준 것이지 초기 버전을 등록을 해주어야 관리가 가능해진다

 - init만 하고 git status를 보면 현재 아무것도 버젼 관리가 되지 않음을 볼 수가 있다.(설명을 위해 test.txt 파일 추가)

 

 

2. 수정 및 커밋

 - 기존에 등록된 버전대비 새로운 파일의 추가/삭제/수정 등이 발생하였을 때는 git add . 를 통해

   stage area에 등록을 한다 

 - 지금 보면 untracked file로 새로 추가된 test.txt가 보이는데 이를 staging area(index area)로 보내려면 git add . 를

  하면 된다(또는 git add text.txt)

 - stageing area에 있는 변경사항들은 git commit을 통해 버전을 관리할 수 있는 log가 남게 된다

3. 돌아가기

 - 이미 진행된 commit에 대해서 취소를 할 때는 reset, revert가 있다

 - 이 2가지 차이에 대해서는 아래 블로그 영상을 보면 충분히 설명이 되어 있다고 생각한다.

 

opentutorials.org/module/4032/24550

 

git revert - GIT4 - Reset & Revert

수업소개 revert가 동작하는 방법을 살펴보고, 충돌이 일어났을 때 어떻게 처리하는지 알려드립니다.  강의1 revert가 무엇인지 이론적으로 살펴봅시다.  강의 2 revert를 해봅시다! 강의 3 충돌이 일

opentutorials.org

 - reset 옵션

  soft : index 보존(add 한 상태, staged 상태), 워킹 디렉터리의 파일 보존. 즉 모두 보존.

  mixed : index 취소(add 하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 보존 (기본 옵션)

  hard : index 취소(add 하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 삭제. 즉 모두 취소.

 

4. 원격 저장소와 연동하기

 - git을 local에서만 사용할 수도 있지만, 남들과 같이 공유를 하기 위해 원격 저장소에 연결하여 공유를 할 수도 있다.

 - 우선 아래와 같이 원격 저장소를 만들었다고 가정하면

  

   사용할 위치에서 아래와 같이 명령어를 쳐준다

   이 상태에서 local에 있는 repository를 원격 repository에 올리기 위해서는 아래와 같이 쳐준다

  이렇게 하게 되면 아래와 같이 실제 원격 저장소에 나의 로컬 저장소 내용이 반영된 것을 확인할 수가 있다.

 

※ 명령어 모음(계속 수정예정)

  * 기본 명령어  

    git 생성 : git init

    파일 추가 : git add 파일명(untracked -> tracked)

    파일 한 번에 추가 : git add ./

    파일 체크하면서 추가 : git add -p

    git commit : git commit -m "메시지"

 

 * 수정

   add 취소하기 : git reset HEAD 파일명( = git rm --cached 파일명)

   commit 한 이전 코드 취소하기 : git reset --hard HEAD^

   commit 취소하고 코드는 살리기 : git reset --soft HEAD^

   commit 덮어 씌우기 : git commit --amend "메시지"

   modified 취소 : git checkout -- 파일명 (수정되기 이전 버전으로 돌아감)

   

 * 이력

   현재 상태 보기 : git status

   history 보기 : git log

   모든 이력 보기? : git reflog(git log 대비 한화면에 보임)  

   작업환경 임시저장 : git stash(다시 load 할 땐 git stash apply)

   임시저장 지우기 : git stash drop

 

 * 브랜치 

   branch 보기 : git branch

   branch 생성 : git branch 브랜치명

   branch 이동 : git checkout 브랜치명

   branch log 확인 : git log --branches --decorate --graph

 

 * 원격저장소

  원격 저장소와 link : git remote add origin 원격 저장소

  로컬 저장소 commit push : git push origin master

  로컬 저장소 update : git checkout -t 원격저장소

댓글