[git] git 처음부터 살펴보기
개요
git 에 대해 어렴풋이 알던 부분을 제대로 정리하고 싶어 글을 남긴다. 회사에서는 git을 사용하고 있지는 않지만, 개인 사이드 프로젝트에서 git 을 사용하려고 한다. 현업에서는 git bash 터미널을 이용하기보다는 소스트리를 많이 사용한다고 한다. 두 가지 방식 모두 한번 해보고자 한다.
프로젝트 생성 및 git 레파지토리 생성
인텔리제이에서 심플한 자바프로젝트를 하나 생성한다. git 을 사용하기 위해 터미널을 열어야 하는데 기본 설정이 cmd.exe 로 되어 있다. git bash 를 이용하면 좀 더 git 사용이 편리하고, 중요한 부분은 윈도우에서 리눅스 계열 명령어를 사용할 수 있다는 점이다.
인텔리제이 셋팅창에서 ‘terminal’을 입력해본다. path에 ‘powershell.exe’이 설정되어 있다.

path를 아래와 같이 변경한다.
"C:\Program Files\Git\bin\sh.exe" -login -i

인텔리제이를 재기동하면, 터미널창이 git bash로 변경된 것을 볼 수 있다

터미널에서 git init 명령어를 입력하면, .git 디렉토리가 생성된다. git 변경내역이 관리하는 폴더로서 해당 폴더가 git 으로 관리되는 것을 보여준다. 해당 폴더가 삭제되면 모든 변경 내역이 삭제된다.


소스 코드 변경 기본
- posts.java 와 User.java 를 생성 후, 터미널에서
git status를 입력해보자. 현재 변경된 코드 상태 정보를 보여준다. 빨간박스 처럼 새로 추가된 코드 내역들이 보인다.

add명령어를 이용해 프로젝트의 변경사항을 타임캡슐(버전관리)안에 담기- 인텔리제이에서는 자동으로 git으로
add할 수 있다.

- git bash 터미널에서 아래와 같이 명령어를 사용해도 된다.

-
모든 파일을 add 하기 위해서는
git add .을 입력한다. commit명령어를 이용해 add 시킨 변경사항들에 대해 버전을 생성해준다.git commit명령어를 입력해보자.

- 위 그림처럼 vim 에디터에서 커밋 메시지를 입력할수도 있으나, 커밋할때 직접 메시지를 지정할 수 있다.
- 커밋 메시지 입력을 위해 다음과 같이 입력한다.
git commit -m 'my commit message'

소스 코드 되돌리기
- reset 과 revert 2가지 방식이 있다. reset : A-B-C-D => A-B revert : A-B-C-D => A-B-C-D-B
- 잠시 .git 폴더를 다른 곳에 백업해둔다.(테스트 후 원복)
git log를 입력한다. 지금까지 commit 한 내역이 시간순으로 나와있다.

- reset 할 버전으로 돌아간다.

-
소스트리에서 보면 이전 버전으로 돌아간 것을 볼 수 있다.
- 잠시 백업한 .git 파일을 원복한 후 마지막 commit 시점을 찾아 reset 한다. 그럼 처음 reset 하기 전으로 돌아갈 수 있다.
git reset --hard만 입력하면, 마지막 커밋 시점으로 돌아간다.

- revert 방식으로 되돌아가보자.
- name 과 age 를 추가하고,, name 이 추가된 시점으로 되돌린다.

- 충돌이 일어난다. 충돌을 해결하고

- 충돌이 발생된 부분이 표시된다. 수정 후,
git revert --continue를 통해 revert 를 완료한다.
Leave a comment