어느덧 6월이 되었군요
오늘은 깃을 통해 협업을 빠르게 할 수 있도록 해보겠습니다
깃을 많이 사용해보진 않아서 아직 익숙하진 않지만
지금 생각나는 깃 용어들로는 로컬 저장소, 원격 저장소, 풀, 푸쉬, 브랜치 등이 있네요
진행중인 프로젝트는 프로그래밍은 저 혼자라 깃을 통해 많은걸 하고있지는 않고
버전관리, 백업 등에만 사용하고 있었습니다 (이것도 조금 소홀했었네요.. 반성...)
오늘 할건 팀원을 추가하고 로컬 저장소를 원격 저장소와 동기화시키는 방법만 간단히 알아볼 것 같습니다
우선 프로젝트를 공유하려면 공유할 프로젝트가 있어야겠죠?
저는 이미 프로젝트가 존재하고 원격저장소에 연결되어있습니다만
작업중인 유니티 프로젝트를 원격저장소에 연결하는 방법을 간단히 설명하겠습니다.
1. GitHub 사이트에서 Repository(원격저장소)를 생성합니다
만들 때 .gitignore를 선택하시는데 .gitignore는 Unity로 지정해주세요
.gitignore는 업로드하지 않을 파일을 필터링하는 역할이라고 보시면 될 것 같습니다
.gitignore에 지정된 파일들은 원격저장소에 올라가지 않습니다.
2. 터미널에서 작업중인 유니티 프로젝트 폴더로 이동합니다
예전에 아무것도 모르던 전 이 말조차 어렵더군요
더 간단히 말씀드리자면 터미널이란 명령어를 입력하여 여러가지 행동을 할 수 있는 프로그램입니다.
Git을 설치하신 후 유니티 프로젝트 폴더를 오른쪽 클릭하시고
Git Bash Here을 누르시면 자동으로 터미널에서 해당 폴더 위치로 이동됩니다
3. git을 초기화하고 리포지토리(원격저장소)에 연결합니다
터미널에 아래와 같이 입력하시면 됩니다
원격 저장소의 주소란 깃허브에서 생성했던 Repository 사이트에 가보시면 오른편에 Code가 있습니다
Code를 누른 후 아래 체크표시된 버튼을 누르면 주소가 복사됩니다
주소를 복사하신 후 터미널로 가서 아래 처럼 입력하면 됩니다
$ git init
$ git remote add origin 원격저장소 주소 입력
$ git pull origin master
pull을 하는 이유는 원격저장소에 존재하는 README와 gitignore파일을 받아오기 위해서 입니다
4. 대용량 파일들을 업로드하기 위해 Git LFS를 설치하고 업로드할 파일의 확장자를 등록해둡니다
예전엔 Git LFS를 어떻게 설치해야하는 건지 잘 몰라서
사이트 들어가서 다운받고 좀 뻘짓을 했던 것 같은데
아마 Git을 설치하실 때 권장사항으로 next만 누르셔서 설치했다면 같이 설치되었던 것 같습니다 (완벽하지 않은 기억입니다)
그러므로 터미널에 아래와 같이 입력해주시면 됩니다
$ git lfs install
이제 LFS로 처리할 확장자를 추가하시면 해당 확장자들은 자동으로 LFS가 처리하게 되는데요
$ git lfs track ".확장자"
예시를 들자면 $ git lfs track ".psd" 이런식으로 터미널에 입력하시면
앞으로 psd파일은 모두 LFS가 트래킹해서 처리하게 됩니다.
5. GIT LFS .gitattributes push하기
LFS를 초기화한 후 폴더에 .gitattributes 파일이 생성되는데
이 파일을 원격저장소에 먼저 push해야 GIT LFS가 동작한다는군요
$ git add .gitattributes
$ git commit -m "Add gitattributes"
$ git push -u origin master
6. 마지막으로 유니티 전체 프로젝트를 커밋, 푸시 합니다
$ git add .
$ git commit -m "Project Upload"
$ git push
어쩌다보니까 글이 길어졌는데..
이제 원격저장소를 다른 팀원이 받아서 진행하면 됩니다
#1. 팀원 컴퓨터에 원격저장소의 Clone 생성하기
프로젝트를 담을 새폴더를 생성한 후 오른쪽 클릭해서 Git Bash로 터미널을 연다
$ git clone 원격저장소 주소 붙여넣기
이러면 원격저장소의 파일들이 다운받아진다
이후엔 프로젝트 폴더 경로의 터미널에서 아래 명령어들로 업로드하고 다운받고 하면 된다
$ git pull origin master (변경된 원격저장소 내용을 로컬저장소에 받아 동기화)
$ git push origin master (로컬 저장소에서 변경한 내용을 원격저장소에 동기화)
이 외에도 다른 글들을 보면 fork, branch, merge, 중앙 원격 저장소, 내 원격 저장소, 로컬 저장소 개념들에 대해 나와있는데
지금 진행중인 프로젝트를 하면서 필요할 때 더 알아가는 것으로 하고
오늘은 여기까지만 하고 앞으로 천천히 알아가야겠다
확실히 Git을 처음 접했을 땐 이게 무슨 소린가 싶어서 헤메는 일이 많았는데
지금은 다 알아듣고 생각보다 별거 없군! 다 할 수 있겠어 싶다
화이팅 :D
*참고자료
'프로젝트 > Color Lim 개발일지' 카테고리의 다른 글
2021-06-07~8 개발일지 (0) | 2021.06.08 |
---|---|
2021-06-02~03, 05 개발일지 (0) | 2021.06.02 |
2021-05-30 개발일지 (0) | 2021.05.31 |
2021-05-28 개발일지 (0) | 2021.05.29 |
2021-05-27~28 개발일지 (0) | 2021.05.28 |