brunch

You can make anything
by writing

C.S.Lewis

by 이지원 Oct 19. 2022

인텔리제이에서 Git 사용하기

버전 관리 시스템


E2E 테스트 자동화도 마찬가지로 협업 간에 버전 관리가 필요한데요. 단순히 SeleniumAppium을 사용하는 것이 아니라 프레임워크 개발 측면에서 자동화 커버리지를 점진적으로 높여가는 조직이라면 Git과 같은 버전 관리가 필수적입니다. 다양한 모듈들이 개발되어야 하고 서비스에 필요한 추가적인 기능들을 개발하고 관리해야 하기 때문입니다. 뿐만 아니라 코드 변경 시 CI 환경에서도 자동으로 테스트가 되어야 하고 젠킨스와 같은 도구에서 트리거를 걸어서 원하는 시간에 특정 환경에서 필요한 테스트가 진행되는 환경을 구축하기 위해서는 Git과 같은 버전 관리 시스템을 미리 구축해두면 좋습니다.


오늘은 Java 자동화 엔지니어로 성장하기 위해 인텔리제이를 사용한 지 3일 차가 되는 날인데요. 이클립스보다 너무 예쁘고 VScode보다 좀 더 개발스러운 화면이 많아서 만족하고 있습니다. 앞으로 인텔리제이에서도 Github Repo에 코드를 푸시하고 작업하도록 해야 하니 Git 사용하는 방법에 대해 알아보겠습니다. 


젯브레인 IDE에서도 깃이나 서브버전과 같은 버전 관리 시스템을 지원합니다. 소스 트리 또는 깃허브 데스크톱 애플리케이션과 같은 도구를 활용해볼 수도 있겠지만 저는 지금까지 커맨드 라인에서 명령어를 통해 작업을 해왔었는데요. 굳이 인텔리제이에서 Git을 사용할 필요가 있을까 싶었지만 막상 사용해보니 정말 편리했고 효율이 높아지는 걸 느꼈습니다.


우선 젯브레인 IDE는 외부에 있는 Git 실행 파일을 호출하도록 구현되어 있는데요. 젯브레인 IDE를 설치할 때 Git 실행 파일이 자동으로 설치되는 건 아니니 Git은 별도 설치가 필요합니다.


인텔리제이 환경

IntelliJ IDEA 2022.2.3 (Community Edition)


Git 실행 파일 경로 지정

Peferences -> Version Control에서 Git을 선택하면 Path to Git executable이 나타나는데요. 이곳에 설치한 Git 실행 파일의 경로를 입력하고 우측 TEST 버튼을 클릭했을 때 Git version is 문구가 나타나면 경로 설정 성공입니다.

일반적으로 기본 경로로 설치했다면 맥에서는 /usr/bin에 git 실행파일이 존재합니다. 윈도우는 사용하지 않고 있어서 잘 모르겠지만 E2E 테스트 모바일 자동화에서는 iOS Xcode를 다뤄야 하기 때문에 가급적이면 Mac에서 자동화 개발하시는 것이 좋습니다. 


저장소 초기화

깃허브 저장소를 사용하려면 우선 저장소 초기화가 필요합니다. 저는 이미 사용 중이라 VSC 메뉴가 보이지 않지만 처음 세팅한다면 VSC 메뉴가 상단에 존재합니다. VSC 메뉴의 Enable Version Control Integration에서 Git을 선택해주세요. 만약 저장소 초기화하려는 프로젝트를 이미 명령어(git init)로 초기화했을 경우 IDE가 자동으로 초기화 정보를 인식해서 프로젝트 버전 관리가 활성화되기 때문에 해당 작업은 필요치 않습니다. 


커밋 & 푸시

Unversioned Files에서 커밋할 파일을 선택하고 Changes란으로 옮기거나, Option+Command+A를 눌러서 커밋할 파일들을 Changes란으로 옮겨 커밋할 대상을 등록해줍니다. 이후 커밋 메시지를 써주고 COMMIT 버튼을 클릭합니다. 이후 Command+Shift+K를 눌러서 Push 해주면 커밋 푸시가 완료됩니다.


원격 저장소 설정

만약 푸시가 처음이라면 Push Commits to java 화면에 Define remote가 나타납니다. 해당 링크를 클릭해서 원격 저장소 URL을 지정해주면 됩니다. 예를 들어 Jiveloper 계정의 SDET 저장소라면 URL은 https://github.com/Jiveloper/SDET 형태가 됩니다.

설정 과정에서 Personal access tokens이 필요하다면 Developer settings에서 만드셔도 되고 편리한 방법으로 해주시면 됩니다. 중요한 건 인텔리제이 IDE에 원격 저장소를 설정 가능토록 필요한 과정들을 진행해주면 됩니다.


커밋 전 액션 설정

IDE에서 Before Commit 액션을 설정할 수 있는데요. 신기한 기능들이 많아서 살펴보게 되었습니다. 제가 사용 중인 있는 설정은 위와 같습니다. 커밋 대상 코드의 포맷을 정리해주는 Refomat code를 사용하면 들여 쓰기나 스페이스가 정리되지 않은 코드 커밋을 방지할 수 있습니다. Optimize imports는 불필요한 import 구문을 제거해줍니다. 

Analyze code는 구문 에러나 비효율적인 코드를 잡아내는 정적 분석을 수행하여 에러 또는 경고 사항이 있으면 엔지니어가 확인할 수 있도록 도와주는 설정인데요. 정확히 뭘 하는 건지 테스트해보았는데 위 사진처럼 사용되지 않는 변수에 대한 경고와 에러를 Code Analysis에서 확인할 수 있었습니다. 사람이라면 누구나 실수할 수 있기에 IDE의 다양한 설정을 통해 보다 편리한 개발이 가능해질 것 같습니다.


마치며

지금까지 인텔리제이 IDE에서 Git 사용법에 대해 알아보았습니다. 특히 Before Commit 액션에서 커밋 대상 코드의 포맷을 정리해주는 Refomat code,  불필요한 import 구문을 제거해주는 Optimize imports, 구문 에러나 비효율적인 코드를 잡아내는 정적 분석을 수행하여 에러 또는 경고 사항이 있으면 엔지니어가 확인할 수 있도록 도와주는 설정인 Analyze code가 새롭고 신기했습니다. 그 외 IDE에서 브랜치도 생성할 수 있고 변경된 내용 비교 및 충돌 또한 IDE에서 해결해볼 수 있습니다. 


아직까지는 터미널 Git 명령어가 더 익숙하지만 IDE를 사용하는 만큼 개발 효율을 높이기 위해 앞으로는 IDE에서 Git을 잘 다뤄볼 수 있도록 해야겠습니다. 앞으로 자동화 엔지니어 및 제가 생각하는 SW QA Engineer로 성장하여 실무에서 보다 깊이 있고 도움 되는 블로깅을 많이 할 수 있도록 하겠습니다. 감사합니다.

매거진의 이전글 2022 Selenium Conference 돌아보며
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari