본문 바로가기
유용한기술

[IntelliJ] 인텔리제이 깃허브 연동 사용 활용 방법

by DuncanKim 2022. 10. 9.
728x90

[IntelliJ] 인텔리제이 깃허브 연동 사용 활용 방법

 

깃허브에 혼자 깃 작업을 진행할 때는 따로 신경을 쓰지 않는 깃 히스토리.

그렇지만 협업을 진행할 때는 남들이 얼마나 작업을 진행했는지, 병합이 어디에서 진행되었는지를 잘 알아야 협업에 있어서 충돌이 덜 할 수 있다. 초보 개발자들은 자바, 스프링, js, .... 할 것은 많고 배울 것은 너무나 많은 데, 깃 까지 배워가면서 협업을 해야 하는가... 회의감이 들 수 있다. 그렇지만, 이것을 간단하게 해주는 것이 있다.

 

인텔리제이를 쓰면, 소스트리와 같은 GUI 환경을 보여주는 프로그램을 사용하지 않아도, 이력을 확실히 볼 수 있고, 그 안에서 checkout, pull, fetch-merge 등이 가능하다. 또한 merge-conflict를 해결할 때에도 남의 코드와 나의 코드를 비교해서 붙여넣어 주는 것을 도와주는 툴도 제공한다.

 

가장 좋은 것은 개발하는 환경에서 깃을 쓸 수 있다는 점. 터미널이나 다른 소스트리와 같은 프로그램을 열지 않아도 된다. 처음 공부하거나 프로젝트를 하는 사람들은 이러한 툴을 사용하면 상당히 도움이 많이 될 것이다.

 

 

인텔리제이에서 내가 주로 사용하는 Git 기능은 다음과 같다.

 

 

1. 로컬과 원격 레포지토리 비교

 

 pull 또는 fetch를 사용해서 원격 레포지토리의 업데이트 내용을 불러오는 것이 있는데, 터미널에서 진행할 경우, 뭐가 어떻게 들어온 지 모른다. 깃 화면에서 왼쪽 네비게이션 바의 좌측 아래를 가리키고 있는 파란색 화살표를 누르면 자동으로 fetch가 된다.

 

단, 내가 커밋을 한 이후로 수정사항이 없어야 이상하게 되지 않고, 모든 커밋들을 가져와서 내 로컬에서 작업을 할 수 있다.

내가 커밋하는 그 사이에 누군가가 push 하지 않았는 지도 확인할 수 있는 좋은 확인 수단이다.

 

 

2. checkout

 

 

이전 커밋으로 checkout 하거나 현재 HEAD가 어디에 위치해있는지 자세히 볼 수 있다.

현재 브랜치와 원격의 브랜치가 얼마나 차이나는지를 알 수 있으며, 병합 전략을 어떻게 가져가야 할 지에 도움을 주기도 한다.

 

명령어로 쓰면 --soft --hard 등을 썼어야 하지만, 우클릭으로 몇가지 설정을 해주면 명령어를 몰라도 현재 작성한 것을 버리고 checkout을 하는 등, 명령어를 잘 모를 때, 아직 어색할 때 쓰면서 공부하는 것에 도움을 준다고 할 수 있겠다.

 

 

3. 충돌해결

 

프로젝트 초기에는 같은 파일을 건드리다가 충돌이 나는 경우도 있을 것이다.

그럴 경우, 인텔리제이는 내 버전과 다른 사람의 버전을 합쳐서 나오는 중간의 것을 남겨둘 수 있도록 도와주는 툴을 제공한다.

왼쪽의 것이 내 것이고, 오른쪽의 것이 다른 버전의 커밋인데, 이 둘 중에 무엇을 받아들일 지를 빨간색 점선 박스에 << or x 를 눌러서 선택할 수 있다.

 

 

4. 결론

 

시각적으로 도움을 주는 소스트리와 같은 역할을 하지만, 따로 윈도우 이동을 하지 않고도 깃의 이력들을 볼 수 있다는 것이 장점이다. 또한 충돌이 일어났을 때, 도움을 주는 해결 툴은 아주 도움이 많이 된다.

 

CLI가 편해지기 전까지 병행해서 쓰면 좋을 것 같은 도구라고 할 수 있겠다.

728x90

댓글