강남의(삼성역 무역센ㅌ...) 모 해외취준 아카데미에 다니고 있는 여량입니다.
최종 프로젝트로 팀 프로젝트를 진행해야 하는데, 프로젝트란게 프로그래밍이죠.
웹 기반이면서 서버 프로그램인 JSP, Spring, Mybatis, Oracle(대신 본인 서버에 깔고자 MariaDB로 변경) 등등의 조합으로 진행하게 되었습니다.
사실 처음부터 git의 존재는 svn과 더불어 강사분도 알려준 거라(사실 전부터 알았지만) 모두들 고려 대상에는 있었습니다.
그리고 압도적으로 SVN이 구리다는 것도 압니다
그러나 eclipse에서 무심결에 블로그 글대로 eGit을 세팅하면...
백퍼센트 망합니다.
형상 관리라고 하고, 파일의 변동사항의 기록, 전파에 탁월한 기능을 갖고 있음에도
실상은 형상 파괴기로 모든 이들의 프로젝트를 철저히 망가트리죠. 잘 모르고 쓰면 말입니다.
그래서 SourceTree에 정착한 사람들이 많더군요.
이유는 별 거 없습니다.
* 한글 지원
* 강사가 가르쳐준 프로그램
그래서 남들처럼 하고 싶지 않았던 저는 인터넷을 찾아서 글로벌하게 뭐가 더 많이 쓰이나 보고
GitKraken으로 정착했습니다.
그리고 팀원들과 하루 정도만에 완전히 흐름을 파악할 수 있었습니다.
여지껏 저렇게 자세하게 파일의 변동 사항과 흐름을 알려주는 시각화는 존재하지 않았습니다.
Fast-Forwarding(여러 커밋이 있을 경우 나의 커밋과 비교하여 한 번에 따라잡는 Pull이 가능)도 단박에 지원되고요.
이게 안 되는 eGit은 매 커밋마다 오류가 나는 기적이 생겼던 것이죠.
문제 해결도 쉽습니다.
보통 만악의 근원은 "신난다 형상 기억이니까 아무거나 home.jsp에 적어봐야지 오홍홍"하고 일거에 커밋을 하다가
모두가 한 파일을 변경한 내역에 git이 정신을 못 차리는 것이거든요.
충돌(conflict)을 해결하는 도구가 전무한 타 앱과 달리 이것은 충돌 파일을 오른쪽에서 고르게 합니다.
그리고 충돌난 두 원본을 비교하여 무멋을 살릴지 파일 단위, 또는 파일 내부의 단락 단위(!)로 취사 선택할 수 있습니다.
이렇게 하니 자신감이 붙어서, branch도 나눠서 각자의 기능 구현 정도에 따라 다시 merge, 또는 cherrypick 하는 방식으로 중심 branch에 반영하는 식으로 변경하고 있습니다.
물론 미숙한 사람들도 있지만, 일단 제일 큰 전력이 되는 팀원이 처음인데도 너무 잘 써서 다행입니다.
여러 branch에 변경 사항 전파할 땐 조금 식은땀이 났지만, 별로 어렵진 않았습니다.
상당히 직관적인 제어라 이 앱을 통해서 git을 더 많이 이해할 수 있었던 것 같습니다.
p.s. 그러니까 더 많은 사람들도 쓰게 앞으로 한글화 좀(...)
p.s. 자꾸 사람들이 git 어떻게 쓰냐고 물어봅니다. 다들 자기 쓰던 거 욕하네요.
p.s. git을 포기한 조는 신나게 클라우드에 압축을 하고 있습니다. 한 번만 실수해서 덮어쓰기 참사 일어나면 무슨 일이 생길까요...! 두근두근
저는 제가하는 시스템의 시스템영역이 대다수 해주고있어서 좀 자유로운 편이더군요.