상세 컨텐츠

본문 제목

[Unity] Unity 유니티 프로젝트를 SourceTree로 관리,연동하기 관련

게임엔진관련/유니티 엔진

by AlrepondTech 2019. 3. 25. 18:07

본문

반응형

 

 

=================================

=================================

=================================

 

 

 

 

출처: https://tenlie10.tistory.com/114

 

 

이 글에선 Git - SourceTree - Unity 연동하기에 대해 알아보겠습니다.

아직 Git을 설치하지 않으셨고, GitHub 계정이 없다면 아래 포스트를 먼저 확인하시기 바랍니다.

http://tenlie10.tistory.com/112  Git(깃)과 GitHub(깃허브)에 대하여

 

 

1. GitHub에 저장소 만들기

 

 

아래 포스트를 확인하여 GitHub에 가입하고 Unity Project를 위한 원격저장소를 만듭니다.

http://unikys.tistory.com/325  [GIT] 버전관리로 GIT을 사용해보자! - GITHUB에 무료 저장소 만들기 

 

 

 

2. GitHub 저장소와 SourceTree 연동하기 

 

SourceTree를 실행한다. 복제/생성을 누른다.

 

 

 

 

지구본 아이콘을 누른다.

 

 

 

자신이 GitHub에 생성한 저장소 릭하고 확인을 누른다. 로딩을 표시하는 파란 원이 사라지지 않아도 상관없다.

 

 

 

목적지 경로 찾기 버튼을 누른다.

 

 

 

자신의 Unity 프로젝트가 저장되는 폴더를 클릭하고 폴더선택 버튼을 누른다.

 

 

 

목적지 경로 뒷 부분에 \프로젝트명을 추가한다. 클론 버튼을 누르면 GitHub로부터 소스를 내려받기 시작한다.

 

 

 

내려받은 프로젝트 폴더로 간다. 첨부파일 .gitattributes, .gitignore 파일을 붙여넣기 해준다.

gitignore
다운로드
gitattributes
다운로드

 

 

 

 

 

Unity를 실행한다. 아래와 같은 창이 뜨면 우측 상단에 있는 OPEN을 누른다.

 

 

 

목록에 PunchOut 폴더가 생성된 것이 보일 것이다. 방금 GitHub에서 다운받은 폴더이다. 이 폴더를 클릭하고 폴더선택 버튼을 클릭한다.

 

 

 

 

상단 메뉴에서 Edit -> Project Settings -> Editor로 들어간다. Inspector창이 아래와 같이 설정되어 있는지 확인한다. 다른 부분이 있다면 아래 설정과 동일하게 맞추어 준다.

 

 

 

 

이상 Git - SourceTree - Unity 연동하기에 대해 알아보았습니다.



출처: https://tenlie10.tistory.com/114 [게임 개발자 블로그]

 

 

 

=================================

=================================

=================================

 

 

 

출처: https://ongamedev.tistory.com/entry/Unity%EC%97%90%EC%84%9C-SourceTree%EB%A1%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0

 

Github의 경우 private repo를 만들기 위해서는 유료결제가 필요합니다.

 

2016년 12월 현재 월 12$로 활용할 수 있으며, enterprise용도 있으며 (1seat당 5000$) 시스템이 안정적이고, 활용 가능한 plugin 시스템도 있어서 활용도가 높습니다. 

 

하지만 혹 유료 결제가 부담스러우신 분들이 있다면 Atlassian 사의 SourceTree를 추천합니다. 

 

사용법을 간단히 정리했으니 참고하시기 바랍니다

 

 

 

1. https://bitbucket.org/ 에 계정을 생성하고 프로젝트와 저장소를 만들어 주세요.

 

   정상적으로 로그인하면 아래 화면처럼 상당에 "Projects" 메뉴가 존재합니다.

   

   이후 "Create project"라는 누르고, 프로젝트의 정보를 입력합니다. 

 

   공유할 목적이 아니라면 "This is private project"를 꼭 선택해 주세요.

 

 

 

 

하단의 "Create Project"를 누르면 아래와 같은 화면을 볼 수 있습니다.

 

위 화면에서 "Create repository"를 누르면 아래와 같이 저장소를 생성하는 화면으로 넘어갑니다. 

 

 

"Repository name"을 입력한 후 하단의 추가 세팅 정보를 설정할 수 있습니다. 

 

입력이 완료되었다면 "Create repository"를 누르면 저장소 생성이 완료됩니다.

 

 

 

2. https://www.sourcetreeapp.com/ 에서 sourcetree를 다운받아 설치 후 위에서 생성한 프로젝트를 내 PC에 연동해 봅시다. 

 

설치 후 프로그램을 실행하면 계정을 입력하는 부분이 나오는데 Bitbucket.org에서 생성한 아이디와 비번을 입력하면 됩니다.

 

 

1) "복제/생성" 버튼을 누르면 "저장소 복제/추가/생성" 창이 뜨며, 

 

2) 지구 모양 아이콘을 누르면 "제공 저장소"창이 뜹니다. 이 중 생성하신 프로젝트를 선택 후 

 

3) 확인 버튼을 누르고, 로컬 경로를 선택하면 아래와 같이 최종적으로 연동된 화면을 볼 수 있습니다.

 

 

 

 

3. 파일을 저장소에 업로드 해봅시다.

 

위 사진 가운데 있는 "익스플로러에서 열기" 버튼을 누르면 로컬 저장소 폴더가 바로 열립니다. 

테스트를 위해 "테스트 파일.txt"파일을 만들어 주세요.

 

 

다시 sourcetree로 오시면 위와 같이 새로운 파일을 감지한 상태를 보실 수 있습니다. 

"스테이지에 올라가지 않은 파일" 옆에 "Stage All" 혹은 "Stage Selected" 버튼을 누르시면,

 

 

Stage( 저장소로 보내기 위한 리스트들 ) 에 등록됩니다. 이후 하단에 로그를 작성하고 "커밋" 버튼을 누르시면 저장소로 업로드가 됩니다.

 

 

업로드가 완료되면 위와 같은 결과 화면을 보실 수 있습니다. 

 

SVN과 다르게 git는 로컬 저장소에 commit하는 과정과 원격 저장소로 push 기능이 나뉘어져 있습니다. 

 

최종적으로 원격 저장소에 push를 하라면 상단 메뉴 중 "푸시"를 누르시면 됩니다. 커밋이 완료되면 아래와 같은 표시가 됩니다. 몇개의 커밋할 사항이 있는지 숫자로 바로 확인 할 수 있습니다.

 

 

 

수정과 삭제는 기존의 소스 컨트롤과 비슷한 형태이니 넘어가도록 하겠습니다. 

 

다음에는 몇몇 팀원과 공유하는 프로젝트를 생성해 보도록 하겠습니다. 

 

"프로젝트를 SourceTree로 관리하기 - 2. 팀 저장소 생성하기" 에서 이어가겠습니다.



출처: https://ongamedev.tistory.com/entry/Unity에서-SourceTree로-프로젝트-관리하기 [가끔 보자, 하늘.]

 

 

 

 

=================================

=================================

=================================

 

 

 

출처: https://ongamedev.tistory.com/entry/Unity%EC%97%90%EC%84%9C-SourceTree%EB%A1%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-2-%ED%8C%80-%EC%A0%80%EC%9E%A5%EC%86%8C-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0?category=592775

 

 

 

"Unity프로젝트를 SourceTree로 관리하기 - 1. 개인 저장소 생성하기" 에 이어 계속 됩니다.

 

상위 메뉴 "Teams"에서 하위 메뉴 "Create Team"을 선택하면, 

 

 

아래와 같은 팀 생성 화면이 나옵니다.

 

Team name 과 Team ID를 입력 후 "Add team members"에 추가할 팀 인원들을 입력해 주세요.

 

 

 

"Create"를 누른 후 관리화면으로 가신 후 "1. 개인 저장소 생성하기"와 같은 절차로 프로젝트와 저장소를 설정하시면 아래와 같은 화면을 보실 수 있습니다.

 

 

팀 관리는 이까지.. ^^

 

다음에는 저장소를 관리하는 방법을 알아보겠습니다.



출처: https://ongamedev.tistory.com/entry/Unity에서-SourceTree로-프로젝트-관리하기-2-팀-저장소-생성하기?category=592775 [가끔 보자, 하늘.]

 

 

 

반응형

 

 

728x90

 

 

 

=================================

=================================

=================================

 

 

 

출처: https://ongamedev.tistory.com/entry/Unity%EC%97%90%EC%84%9C-SourceTree%EB%A1%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-3-gitignore-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0?category=592775

 

Unity는 작업자 로컬에서 관리되는 파일들이 유독 많습니다. 

 

이런 파일들이 공유되기 시작하면 프로젝트가 꼬이는 건 시간 문제죠. 

 

이를 위해 Unity 프로젝트에서 공유되면 안되는 파일/폴더 리스트와 git 저장소에서 이런 파일들이 공유되지 않게 하는 gitignore 파일에 적용하는 방법을 알아보겠습니다. 

 

주의하실 점은 프로젝트에 이미 공유되기 시작하면 이 파일에 적용된 내용이 적용되지 않을 수 있으니, 가능하면 저장소 생성 후 바로 설정을 해두시길 권장합니다. 

 

bitbucket.org에서 저장소 페이지로 이동하시면 아래와 같은 화면을 볼 수 있습니다. 

 

 

"Create a .gitignore"를 선택하면 해당 저장소에 적용할 gitignore 파일을 생성, 편집할 수 있습니다. 

 

Unity 프로젝트의 최상위 폴더들 중 Assets 폴더만 공유해도 되고, ProjectSettings 까지 같이 공유해도 됩니다. 

 

.gitignore에는 아래 내용을 넣어서 사용하시면 됩니다. 추가가 필요한 내용은 아래 포멧을 참고하여 추가하시면 됩니다. 

 

 

 

############################## # Unity folders & files **/Library/ **/obj/ **/Temp/

############################## # Source Files

*.psd
*.max

############################## # Package files *.7z *.gz *.rar *.tar *.zip ###################### # Logs and databases *.log .DS_Store* Thumbs.db

 

 

파일은 일반적으로 *.exe 등으로 등록하면 exe 확장자를 가진 파일을 stage에 등록되지 않도록 합니다. 

 

특정 폴더는 /Temp/ 로, 특정 폴더의 하위 폴더를 모두 포함시키지 않을 경우 **/Temp/로 등록하시면 됩니다.

 

파일을 공유할 때 10M 이상의 파일을 공유하지 않도록 하세요. 버전 관리에 많은 부담이 됩니다. sourcetree에서도 10M이상의 파일을 commit할 때는 경고를 출력합니다. 

 

git은 svn, cvs에 비해 branch가 상당히 가볍게 관리됩니다. 

 

저도 이전 프로젝트에서 svn의 branch는 너무 무거워서 거의 사용하지 않다가 git에서는 필수적으로 사용하기 시작했습니다. 

 

다음 글에서는 이에 대한 내용을 살펴보겠습니다. 



출처: https://ongamedev.tistory.com/entry/Unity에서-SourceTree로-프로젝트-관리하기-3-gitignore-적용하기?category=592775 [가끔 보자, 하늘.]

 

 

 

=================================

=================================

=================================

 

 

 

 

출처: https://ongamedev.tistory.com/entry/Unity%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A5%BC-SourceTree%EB%A1%9C-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-4-%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A1%9C-%ED%8C%8C%EC%9D%BC-%EC%98%AC%EB%A6%AC%EA%B8%B0-%ED%8A%B9%EC%A0%95-%ED%8C%8C%EC%9D%BC-%EB%A1%A4%EB%B0%B1%ED%95%98%EA%B8%B0?category=592775

 

 

이번에는 저장소에 파일을 올려보겠습니다. 

 

해당 프로젝트 폴더에 새로운 파일을 생성해 보겠습니다. 임시로 이름은 "new document.txt"로 하겠습니다. 

 

"Stage All" 혹은 "Stage Selected"를 선택하고, 로그를 입력하여 커밋을 하며, 로컬 저장소에 업데이트 됩니다. 

 

 

커밋이 완료되면 아래와 같이 히스토리가 처음으로 생성된 것을 확인할 수 있습니다. 하지만 아직은 로컬 저장소에만 기록된 상태이며, bitbucket 원격 저장소로는 업데이트가 되지 않은 상황입니다. 

 

 

원격 저장소로 업데이트하기 위해서는 상단 메뉴 중 "푸시"를 눌러 진행할 수 있습니다. 푸시를 누르면 아래와 같은 창이 뜨며, 어떤 브랜치의 변경 사항을 Push할지 선택할 수 있습니다. 지금은 master 앞의 체크 버튼을 누른 후 하단의 "푸시" 버튼을 누르시면 서버로 업데이트를 진행합니다.

 

 

업데이트가 완료되면 기존 "master" 표기만 있었는데, 앞쪽으로 "origin/master"가 추가된 것을 확인할 수 있습니다. 

 

 

이제 bitbucket.org의 저장소 화면으로 가면 웹에서도 확인할 수 있게 됩니다.

 

 

다시 파일을 수정하여 커밋/푸시를 진행하면 아래와 같이 추가 변경된 내용을 볼 수 있습니다. 

 

 

그럼 어떤 파일을 특정 시점의 버전으로 롤백하는 과정을 살펴 보겠습니다. 

 

원하는 브랜치에서 해당 버전을 클릭하면 하단에 해당 버전에서 수정된 파일 리스트가 나옵니다. 

 

이때, 우측으로 가면 "..."으로 되어 있는 누르면 파일 되돌리기 버튼이 나오는걸 볼 수 있습니다. 

 

그걸 누르면 지정한 파일이 원하는 버전으로 수정됩니다.

 

 

 

이후 커밋/푸쉬하면 수정된 내용이 최종적으로 업데이트 됩니다. 

 

다음에는 브랜치를 관리하는 방법을 알아보겠습니다. 



출처: https://ongamedev.tistory.com/entry/Unity프로젝트를-SourceTree로-관리하기-4-저장소로-파일-올리기-특정-파일-롤백하기?category=592775 [가끔 보자, 하늘.]

 

 

 

=================================

=================================

=================================

 

 

 

출처: https://ongamedev.tistory.com/entry/Unity%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A5%BC-SourceTree%EB%A1%9C-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0-5-branch-%EA%B4%80%EB%A6%AC?category=592775

 

 

마지막으로 branch 관리하는 방법에 대해 알아겠습니다. 

 

SVN은 branch 관리하는게 상당히 까다롭고 시간이 많이 걸리는 문제점이 있었는데, git은 상당히 가볍고 로컬 저장소와 원격 저장소가 분리되어 있어서 각자의 작업을 진행하며 다른 작업자의 작업을 방해하지 않으면서도 백업/롤백이 손쉽게 가능합니다. 

 

첫번째로 branch를 만들어 보겠습니다. 이름은 "sampleBranch"로 해보겠습니다.

 

 

아래처럼 branch가 생성된 것을 확인할 수 있습니다.

 

 

 

이제 branch 에서 하나의 파일을 수정한 후, master로 병합해 보겠습니다. 

 

 

텍스트 파일을 열어 내용을 추가하고 commit를 합니다. 

 

 

 

그 후 아래 화면처럼 push를 해줍니다.

 

 

그럼 자신의 branch와 origin까지 업데이트 되었다는 표시를 볼 수 있습니다.

 

 

 

 위 화면의 좌측 브랜치 트리에서 master와 sampleBranch를 선택하면, 선택된 브랜치의 글씨가 볼드체로 바뀌며 현재 작업 폴더의 브랜치가 지정됩니다. 

 master를 선택 후 "second document.txt"파일을 열어보면 좀 전에 추가했던 텍스트가 보이지 않는 것을 확인할 수 있습니다. 

 

 

 

이제 master로 sampleBranch의 내용을병합해 보겠습니다. master를 선택 후, sampleBranch에서 메뉴를 열면 아래와 같은 메뉴 리스트가 나옵니다. "현재 브랜치(master)로 sampleBranch 병합"을 선택하면 sampleBranch의 내용이 master로 병합됩니다.

 

 

다시 "second document.txt" 파일을 열어보면 파일이 정상적으로 병합된 것을 확인할 수 있습니다.

 

다음 아티클에서는 충돌 시 어떻게 처리해야 할 지 살펴보겠습니다.



출처: https://ongamedev.tistory.com/entry/Unity프로젝트를-SourceTree로-관리하기-5-branch-관리?category=592775 [가끔 보자, 하늘.]

 

 

 

=================================

=================================

=================================

 

 

 

 

출처: https://ongamedev.tistory.com/entry/test?category=592775

 

 

이번에는 충돌이 일어났을 때 어떻게 하면 될지 알아보겠습니다. 

 

 

master와 branch에서 한번에 두 파일을 모두 수정 후,

 

 

 

master와 branch에 각가 commit/push 합니다. 

 

이제 branch를 master에 병합 시도합니다.

 

아래 그림처럼 충돌이 일어난 것을 확인할 수 있습니다.

 

 

 

텍스트 파일이니 외부 병합 툴을 이용해 문제를 해결해 보겠습니다.

 

상단 메뉴를 보면 A, B, C가 있습니다. 

A가 원래 없던 최초 버전, B와 C가 master와 branch에서 작성된 내용입니다.

 

두 텍스트 모두를 유지하려면 B와 C  버튼을 눌러주면 하단에 순서대로 정리가 됩니다.

 

 

 

출동이 있었던 텍스트 파일이 정리된 모습입니다.

 

마지막으로 push하면 아래와 같이 잘 병합된 모습을 볼 수 있습니다.

 

 

바이너리 파일일 경우, 내 저장소의 파일 혹은 받은 파일을 유지할지를 설정해야 합니다.

 

이상. 끝!!! ^^

 



출처: https://ongamedev.tistory.com/entry/test?category=592775 [가끔 보자, 하늘.]

 

 

 

=================================

=================================

=================================

 

 

 

*기타관련링크

 

http://blog.naver.com/PostView.nhn?blogId=dmknight&logNo=220526220720&categoryNo=0&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

 

 

 

 

=================================

=================================

=================================

 

 

 

반응형


관련글 더보기

댓글 영역