회사에서 perforce를 쓰다가 git으로 이관하면서 겪었던 걸 정리 해본다.

perforce를 git으로 이관해 주는 건 4가지 정도가 있었던 거 같은데

perforce서버에서 하거나 유료 솔루션을 사거나 뭐 이런 여러가지 옵션...


그 중에서 무료에 오픈소스로 되고, 서버 설정을 건들이지 않고 하는게 git-p4 이다.


물론 하면서 우여곡절이 좀 있긴 했지만 ;;


기본적인 설치와 하는 법은 http://ericlathrop.com/2012/12/how-to-set-up-git-p4-in-windows/ 여기에서 확인 할 수 있다.

그리고 추가적인 도움을 받은 곳이 https://yonmy.com/archives/90#comment-4570 여기 이다.


몇가지 주의점(?)을 적어보면

python 버전

python 2.7 에서 된다.  2.x 에선 다 될꺼 같긴하지만... 여튼 3.x에선 안되는 것 같았다.

한글 인코딩

기본적으로 커밋 시 한글로 작성한 경우가 많은데 기본 인코딩이 cp949 또는 euc-kr 이다 보니 git으로 이관할 때 인코딩이 깨지는 사태가...

두번째 사이트의 인코딩 관련 내용을 보기 전 까진 커밋 메세지는 git msg-filter iconv를 이용해서 하나씩 변환

커밋터는 env-filter를 이용해서 변환

filter를 이용해서 변환하면 일단 오래도 걸리고, 똑같은 내용인데 될때도 있고 안될 때도 있었다(거의 다 옮기고 마지막 프로젝트 쯤에...)

왜 git-p4에서 변환할 생각을 안했는지 -_-;


두번째 사이트를 보고 코드가 merge되기 전이라 pr날린 걸 가져와서 수정된 git-p4를 적용하고 git config –global git-p4.charset cp949 명령으로 설정을 추가하고 나면

git clone만으로 작업이 끝난다 ! filter-branch를 할 필요가 없는 것 이다.

author도 인코딩을 위해서 조금 더 수정을 함

clone 이후에 gitk 정도로 확인 ~

p4 workspace

딱 이관을 해야할 워크스페이스를 맞추는 게 중요

workspace는 그대로 두고 clone할 때 명령어만 맞게 적으면 될줄 알았더니 안되더란 ㅠ


위에 3가지를 주의 하고 나면 생각보다 쉽게(?) 이관이 된다.

기존에 워크스페이스를 크게 잡아서 쓰고 있었다면 git으로 이관 시 repo단위로 쪼개다 보니 허들이 생길 수도 ~


변경한 git-p4 는 gist에 커밋 해 두었다.

git-p4를 gist에서 검색 해보면 생각보다 많은데 ... 커밋 내용을 좀 보고 인코딩 관련이 많다는 게 ㅎ

 






GitHub

얼마전에 무료 private 허용으로 떠들썩 했었던, 3명 제한으로 허용 되고

거의 오픈 소스 clone만 하는 듯 -ㅅ-;


BitBucket

비공개 저장소가 무료고, 5명 제한 이었나...

Atlassian에서 제공하는 거라서 그런지 jira라 가능 했었...

지인이랑 개인적으로 맹글 때 사용 해본


Gitlab

비공개 저장소가 무료이고, 인원 제한이 없었던 듯

설치형도 무료라서 많이 쓰는, 현재도 개인적인 코딩해서 올려 보는 건 여기다가...



'IT' 카테고리의 다른 글

검색 사이트 3종 등록 페이지  (0) 2019.02.09
[jquery] jquery cotains  (0) 2019.01.27
[django] Debug False 시 static 처리  (0) 2019.01.27
[django] runserver 명령어  (0) 2019.01.27
[pythonanywhere] django 무료 호스팅  (0) 2019.01.27

git의 .gitignore가 적용 되지 않을 때가 있음.

적용을 위한 명령어

firebase로 만들어진 프로젝트를 커밋 하려고 봤더니 .firebaserc라는 파일이 있어서 git에 넣을지 말지를 검색 해봄


해당 내용은 어기에 나옴

https://firebase.google.com/docs/cli/?hl=ko


내용인 즉

소스 관리 및 프로젝트 별칭

일반적으로 .firebaserc 프로젝트를 소스 관리 시스템에 체크인해야 합니다. 이렇게 하면 팀원들이 공통 프로젝트 별칭을 공유할 수 있습니다. 자신만 사용하는 개발 프로젝트가 있으면 각 명령에 --project 플래그를 전달하거나 별칭을 정의하지 않고 firebase use <project_id>를 실행할 수 있습니다.

오픈소스 프로젝트 또는 시작용 템플릿에서는 일반적으로 .firebaserc 파일을 체크인하지 않습니다.



git으로 프로젝트 시

처음 생성하거나 있는 폴더에서 시작 하거나 git에서 추가 git으로 연결 할 때 커맨드 내용

gitlab에서 프로젝트 생성 시 나오는 명령어



+ Recent posts