python

[python] Pycharm Git / worktree

vhxpffltm 2021. 6. 30. 22:42

대부분 IDE에서는 Git 기능을 함께 제공해주고 있다.

 

Visual Studio 툴에서도 Git 기능을 제공하지만, 필자는 자주 사용하지 않아 나중에 공부하겠지만

 

파이참에서는 사용할 수 있는 GIt 기능을 알아보자.

 

1. git worktree add

먼저 기본 프로젝트 저장소가 있다고 가정하자. 급하게 처리하거나 이곳에서 개발을 진행하여 원본을 건드리지 않고 개발하는데 사용하기 좋다.

 

 

이같이 add 명령어와 -b <branch 이름> [복제할 경로]로하면 새로운 브랜치가 생성되고 해당 브랜치는 바로 접근할 수 없다. 파이참에서 해당 경로로 프로젝트를 새로열면 바로 생성한 브랜치와 가져온 가져온 프로젝트를 확인할 수 있다.

 

 

최근 worktree를 사용해보면서 디렉토리를 삭제하고 branch가 삭제안되는 문제가 있는데 해결방법은 아래에서 확인할 수 있다.

https://stackoverflow.com/questions/44109234/how-to-delete-a-git-working-tree-branch-when-its-working-directory-has-been-remo

 

이렇게 worktree를 적용하면 복제된 레퍼지토리를 확인할 수 있으며 이 복제된 작업공간에서 작업후 커밋하고 merge하여 수정할 수 있다.

 

2. Pycharm Git

Pycharm 상단 툴바를 보면 'Git' 카테고리가 있으며 이를 통해 기본 동기화 기능과 branch를 자유롭게 사용할 수 있도록 되어 있는데 편리한 UI로 쉽게 사용할 수 있다.

 

먼저 Show Git Log부터 보자. 프로젝트는 Github 오픈소스에서 가져온 내용이다.

 

각 커밋을 더블클릭하면 무엇이 어떻게 변화되었는지 확인할 수 있다. Pycharm에서는 좌측 하단에 현재 branch에 대한 내용이 있는데 branch별로 차이점을 가독성있게 확인할 수 있는 특징이 있다. 또한 Pycharm에서는 수정 및 변경된 코드를 코드라인 우측에 색상을 표시하여 알려주는 등의 기능을 보여준다.

 

 

우측 하단의 branch를 통해 쉽게 branch를 이동하고 merge conflict의 경우 문제가되는 source 코드를 확인할 수 있으니 사용성에 편리할 수 있다. 

 

 

Open Source에 Commit을 한 예제이다. 이를 토대로 Pycharm과 Git bash를 적절히 사용하여 형상관리를 열심히 해보자. Git bash로 reset을 하거나 GUI에서 작업하기 힘든 부분을 적용하면 좋을 것 같다.