Version Control System을 CVS 때부터 SVN, GIT까지 10년이 넘게 쓰고 있는데 아직 잘 모르겠다. 이전 직장에서는 SVN을 썼고, 학창 시절에는 CVS를 썼다. 삼성전자 선임 연구원(구미 때, 수원 와서는 종기원 때문에 걍 '선임' ㅋㅋ 웃긴다 너네.) 재직 시절에는 perforce를 쓰다가 아랫단 할 때는 git을 썼다(커널은 다 git으로 하니까... 어쩔 수 없었던 거지)


git 쓴지도 10년이 되었는데 sourceTree 쓰기 전에 command로 하다가 아틀라이시안이 IPO를 하고 난 뒤로부터는 소프트웨어가 썩어서(지금은 괜찮다.) 온갖 에러가 낫기에 github 제품으로 갈아탔었었다. 아마 그 시절 썼던 엔지니어는 알겠지만 github에서 제공하는 건 더 썩었었음 ㅡㅡ;


결국 command로 할 수밖에 없었고, https는 제대로 동작하지 않아서 모두 ssh로 했다. sourceTree에서도 여러 브랜치를 따고 합치는 과정에서 꼬임이 많아서 터미널 열고 command를 입력하며 썼다.


git 책도 잠깐 봤지만 10년이 지나 기억나고 잘 쓰는 것은 결국 

git init, checkout, add, pull, push 등이 전부.


머지맨(대기업에서 수천 명이 동시 작업할 때면 각 부서마다 머지맨이 있다) 체리픽이나 오토머지 resolve 등도 꽤 다양하게 썼었던 것 같은데 기억에 별로 남은 게 없다. 그 당시에 책을 써 뒀으면 추억이나 남았을 텐데... 그 당시 VCS가 개인에게는 그리 대중화되진 않았으니 팔리진 않았겠지


지금은 집에서 혼자 작업할 때도 git을 쓴다. 


사실 가장 편한 것은 SVN이다. visual SVN 무료 서버가 워낙 강력하고 로컬에 구축할 수 있어서 빠르다. ETRI 강의할 때도 외부 인터넷이 막혀 있으니 visual SVN 서버를 구축하고 그쪽으로 과제를 받거나 자료 공유를 했었다. 공유폴더 보다 안정적이고... 맥에도 smartSVN이 있어서(유료) 토터스SVN 클라이언트 만큼 편리하게 쓸 수 있다. 물론, 토터스가 10배 편하다.


전 직장에 만 3년 정도 몸 담고 있을 때 GIT으로 바꾸려고 하다가 결국 github.com 에 소스를 줄 수 없다는 결정 아래 SVN과 GIT을 같이 쓸 수밖에 없었다. 뭐, 불편하긴 했지만 git과 svn을 쭉 쓰면서... 분명한 장단점이 있고, SVN도 충분히 괜찮다는 것을 알 수 있다. github.com이 visual SVN Server처럼 로컬용 서버를 배포하면 좋겠지만 구글도 구글 데스트탑 배포 했다가 너무 강력해서 서비스를 접어버리고 Enterprise용만 제공하다가 그마저도 이제 막는 것을 보면, 결국 git은 visualSVN 처럼 원클릭으로 편하게 구축하고 마우스로 상황을 체킹 하지는 못한다. 수동으로 해줘야 할게 많고, 자본주의 사회에서 편하게 되리라는 것은 요원하다.


그냥 그렇다고.


간간히 이렇게 썰을 푼다. 난 집에서 visual svn 서버 쓰고, github의 private 저장소도 쓴다. bitbucket을 오래 썼었는데 IPO 하고 난 뒤에 무료 저장 공간은 무지하게 느려져서 못 쓸 수준이었다.


혹시, SVN 다음에 GIT이 나왔다고 GIT만 쓰시는 분은 집에 SVN 설치하고 그 편안함에 녹아들었으면 한다. bizspark의 도움으로 마소의 VCS도 써봤는데, 그래프로 나와서 좋았고 칸반이나 간트차크도 계속 들어가서 좋았다. 그러나 그 좋은 점도 단점이 되는 게 최근 github에도 trello와 같은 기능이 들어간 것을 보면서, 경쟁 때문에 계속 다른 서비스를 통합하는 것이 과연 편리한 일일까 하며 고민을 해 본다. 물론, 경쟁이 있어 나 역시 3년 쓴 트렐로 골드를 버리고 github 것을 쓰려고 하다가 로컬용 찾게 되었다. 로컬용이 없어서 트렐로의 모든 자료를 구글 드라이브에 올리는데 1달 걸렸다. 구글 드라이브는 완전히 다른 프로젝트 관리 패러다임이지만 워낙 검색 능력이 뛰어나서 사실 규정되지 않는 개발 방식이며, 이론적으로 이름이 없다고 해도 분명 더 편리하다. trello 도 검색 기능이 꽤 뛰어지만 PDF나 파일 내용까지 검색되는 구글과는 사뭇 다르다. 물론, 구글은 내 자료를 가지고 열심히 비즈니스를 만들어 가겠지만 모두의 편리함을 계속 추구하고 도전하니 아직은 괜찮다.


다시 git으로 돌아와서

branch 기능은 편리하지만 많은 사람이 같이 작업하는 경우 결국 한명이 소스를 모두 파악하고 "머지맨"이 될 수 밖에 없다. 혼자 작업하고 브랜치 아웃되었다가 합쳐지는 경우 아무런 문제없이 잘된다. 그러나 그 외의 경우 기능을 안다고 해도 수많은 에러와 싸운다. 물론, 이런 경험은 git을 더욱 강력하게 만들겠지만 해당 부분을 매우 중시하는 기업 소속이라면 git 책 하나 사서 매일 연습하는게 맞고, 그게 아니면 .ssh, config, key에 대해서 이해하고 명령어 몇개만 쓰는게 맞는 것 같다.


이상, git 매거진을 하나 만들까 하다가 접는 이유를 의식의 흐름대로 써 보았다. 나름 뇌는 거친 듯. 아닐수도

내가 perforce를 계약한 것은 아니지만 1인당 40만원 정도라고 들은 적이 있다. 머지툴도 내장되어 있고 정말 많은 사람들이 동시작업해도 잘 동작하는 것을 수년간 경험했을 때 큰 기업이 된다면 한번 써볼만한 툴인 것 같다. 나 관계자 아님



'Objective-C, SQLite3' 카테고리의 다른 글

프로그래밍 면접 질문  (0) 2019.02.05
두번째 블로그의 마지막 글 모음  (0) 2019.02.05
github에 gpg 적용 완료  (0) 2019.02.05
github issue format  (0) 2019.02.05
인터넷 안되는 곳에서 강의 준비  (0) 2019.02.05

+ Recent posts