일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 게임 디자인 패턴
- effective C++
- Dynamic Indexing
- InputManager
- Deferred Rendering
- DirectX12
- 네트워크 게임 프로그래밍
- 조명 처리
- gitscm
- 게임 클래스
- 네트워크
- 장치 초기화
- Frustum Culling
- 입방체 매핑
- 직교 투영
- direct3d
- 디퍼드 렌더링
- light
- FrameResource
- 큐브 매핑
- Render Target
- 게임 프로그래밍
- 절두체 컬링
- DirectX
- 동적 색인화
- TCP/IP
- C++
- gitlab
- Direct3D12
- 노멀 맵핑
- Today
- Total
코승호딩의 메모장
[GitLab 연동] 본문
이번 포스팅에서는 지난 시간 만든 SampleProject를 GitLab을 이용해서 연동을 할 것이다. 일단 이미 만들어진 ID를 기반으로 GitLab에 접속하여 Project를 생성(GitLab Cloud Storage에 생성)하고 생성된 Project를 Clone을 통해 Local PC로 옮기고 Local Storage에 올린다.
1. Craete Project
우선 GitLab의 페이지에서 Create a Project를 누른다.
Create a Project를 누르면 다음과 같은 창이 뜨는데 왠만하면 Create blank Project를 선택하도록 한다.
Project name을 채워서 Project를 생성한다.
2. Project members
다음 자신의 Project를 관리 및 감독할 수 있는 교수님과 조교님을 초대하도록 한다. Manage -> Members -> Invite members
초대를 완료하였다면 다음과 같이 자신, 교수님, 조교님 3명이 Members에 뜰 것이다.
3. Clone Project
다시 Project의 메인으로 넘어가서 Clone을 누른 후 HTTPS에서 Copy URL을 선택한다.
https://gitlab.com/suengho0325/02_2018192017.git 다음과 같이 복사가 될 것이다.
복사가 된 상태에서 현재 자신의 Project가 있는 Local PC 파일에 들어가 SimpleGame_Git이라는 새로운 폴더를 생성한다.
파일로 들어가 Open Git Bash here을 눌러 Git 화면을 띄운다. 현재 폴더는 Git과는 아무 관련이 없는 폴더인 상태이다.
git clone [GitLab Project URL] 명령어를 통해 Clone을 한다. 다만 Ctrl+v가 사용이 안되기 때문에 마우스 우클릭으로 한다.
완료되었다면 다음과 같이 자신의 폴더에 GitLab에서 생성한 프로젝트가 생성될 것이다.
다음 cd [tab] 을 통해 자신의 프로젝트로 이동하면 main이라는 이름이 뜨는 것을 볼 수 있다. 이 main이 의미하는 것은 현재 작업하고 있는 branch의 이름을 의미한다. Git은 무조건 자신이 작업하고 있는 branch가 있어야 제대로 작업이 된다. 이제 이 폴더는 Git이라는 형상 관리 시스템에서 관리를 하고 있는 폴더가 된 것이다.
그런데 여기서 main branch가 아닌 master라는 branch가 상위 폴더에 써져 있는 것을 볼 수 있다. 이는 상위 폴더 어딘가에 Git이 생성되어 있기 때문이다. 따라서 상위 폴더를 뒤져가며 .git파일을 삭제를 해줘야 한다. 그 결과 C:\Users\Seung 파일에 .git 파일이 생성이 되어 있었고 그에 따라 이 파일을 지워줬다. 결과적으로 다음과 같이 (master)가 사라진 것을 볼 수 있다.
이처럼 Clone은 Remote repository를 Local repository로 복사하며 형상 관리를 위해 필요한 모든 데이터가 Local PC로 넘어온다.
4. Git Ignore
pdb나 log와 같은 파일들은 Local에서만 필요한 파일들이다. 남과 공유할 필요가 전혀 없는 컴파일 중간에 나오는 불필요한 부산물들이다. 이들을 굳이 Git을 통해 공유할 필요가 없기 때문에 이들을 명확히 알려주기 위한 파일이 .gitignore 파일이다.
GitBash에서 vim이라는 에디터가 있는데 .gitignore를 입력하면 해당 파일이 없을 경우 새로 만들어지고 있을 경우 있는 파일을 오픈 해준다. 이후 오픈 한다음 i를 누르면 입력을 할 수 있게 된다. 그리고 무시할 파일들을 복사하거나 작성한다.
모두 작성했다면 Esc를 눌러 입력 모드로 변환한다. 입력 모드에서는 콜론(:) 을 입력하고 명령어를 작성할 수 있다. w는 저장이며 q는 나가기이다. i를 누르면 다시 수정을 할 수 있게 된다.
5. Connect Project
이제 자신의 Project를 Git과 연결하는 작업이다. 작업중이던 폴더에 들어가 모든 내용을 복사한 후 Clone을 한 폴더에 붙여넣기 한다. 이제부터는 위 내용물들이 자신의 시스템에 깔려 있는 GitScm에서 관리가 자동으로 되기 시작한다.
뭔지는 모르겠지만 일단 add와 commit 명령어를 작성한다. 내용은 이후 차차 알게 될 것이다. 이렇게 commit 까지 완료하였다는 것은 Local에 있는 Git repository에 안전하게 저장이 되어 있다는 뜻이다. 이제는 자신의 Local Project를 Remote Project로 옮겨야 한다. 이것이 바로 push이다.
git status는 해당 Git 폴더의 상태를 확인하는 명령어이다. 해당 Git 폴더에 변화가 생겼을 때 수정되었다는 뜻으로 modigied라는 경고 메시지가 뜬다. 오른쪽은 GSEGame.cpp에 어떠한 작업을 하고 난 다음의 모습이다.
앞의 작업을 완료하였다면 다음과 같이 GitLab Project에 추가한 항목들이 생성된 것을 볼 수 있을 것이다. 그리고 Last commit에 앞서 작성한 First Commit 로그가 찍힌 것을 볼 수 있다.
'게임 소프트웨어' 카테고리의 다른 글
[Object 클래스] (0) | 2023.10.04 |
---|---|
[Game 클래스] (0) | 2023.09.13 |
[소프트웨어 공학] (0) | 2023.09.13 |
[Git을 통한 형상 관리] (0) | 2023.09.10 |