오늘의 목표
Git에 대해 알기
미니 프로젝트 시작하기
학습 내용
Git이란?
- Git은 프로젝트의 모든 변경 사항을 기록하는 버전 관리 시스템. 코드와 파일의 모든 순간을 기록하고 필요할 때 되돌릴 수 있도록 하여 프로젝트의 안정성과 관리 효율성을 높임.
Git를 사용해야 하는 이유
- 작업 이력 관리: 각 작업이 기록되므로, 특정 시점으로 돌아가거나 부분적으로 복원할 수 있음.
- 협업 지원: 여러명이 동시에 작업할 수 있고, 개개인의 독립적인 작업을 관리하고 통합할 수 있음.
- 복원 기능: 실수나 오류로부터 안전하게 복원 가능. 특정 기능이 잘못된 경우 해당 부분만 되돌리거나 수정할 수 있다.
Git의 주요 개념과 용어 설명
저장소와 원격 저장소(Repository & Remote Repository)
- 저장소: Git이 프로젝트의 모든 변경 사항을 기록하는 공간, 특정 시점으로 되돌아갈 수 있는 프로젝트의 저장소 역할
- 로컬 저장소: 내 컴퓨터에 저장되는 개인 작업 저장소
- 원격 저장소: GitHub, GitLab 같은 서버에 저장되는 온라인 저장소, 여러 팀원이 접근해 협업 가능, 중요한 작업 백업 가능.
로컬 저장소에서 작업한 내용을 원격 저장소에 업로드하면 클라우드에 안전하게 보관되며, 팀원들과 작업 내용을 공유할 수 있다.
스테이징 (Staging)
- 스테이징은 커밋할 파일을 임시로 모아두는 단계. 수정된 파일을 커밋하기 전 스테이징 영역에 올려두면, 필요한 파일만 선별하여 커밋할 수 있음.
- 스테이징은 변경 파일을 일시적으로 준비해두는 단계, 필요 없는 파일은 커밋에서 제외하고 필요한 파일만 커밋에 포함할 수 있도록 함.
커밋 (Commit)
- 커밋은 특정 시점의 변경 사항을 저장소에 기록하는 작업, 일종의 스냅샷. 각 커밋에는 변경된 내용을 확정하고 그 상태를 저장소에 남긴다.
- 커밋 메세지를 통해 무엇을 수정했는지 기록할 수 있음.
브랜치 (Branch)
- 브랜치는 프로젝트의 독립적인 작업 공간을 만들어, 메인 프로젝트와 분리된 상태에서 새로운 기능을 개발하거나 실험할 수 있게 함.
- 예를 들어, 프로젝트의 주 작업 브랜치(메인 브랜치)와 독립적으로 기능을 추가할 수 있으며, 작업이 완료되면 메인 브랜치에 병합하여 최종 프로젝트에 반영할 수 있음.
병합 (Merge)
- 병합은 브랜치에서 독립적으로 진행된 작업을 메인 프로젝트에 통합하는 과정. 병합을 통해 브랜치에서 완료된 새로운 기능을 메인 브랜치에 반영할 수 있음.
- 병합 시 서로 다른 브랜치 간 충돌이 발생할 수 있으며, 충돌이 발생한 경우 이를 해결하고 병합해야함.
GitHub Desktop 사용하기
1. 새로운 저장소 생성 및 복제
- "New Repository"에서 로컬 프로젝트를 시작하거나, GitHub에 있는 프로젝트를 "Clone Repository"로 로컬로 가져와 작업할 수 있음.
- GitHub에서 레포지토리를 만들 때, 퍼블릭(Public) 또는 프라이빗(Private) 설정을 선택할 수 있음. 이 설정은 레포지토리에 접근할 수 있는 사람을 제한하는 중요한 요소이다.
- 퍼블릭(Public): 퍼블릭으로 설정된 레포지토리는 누구나 접근할 수 있고, 레포지토리의 파일을 다운로드하거나 내용을 볼 수 있음. 오픈 소스 프로젝트나 협업을 위해 공개하고 싶을 때 사용한다.
- 프라이빗(Private): 프라이빗으로 설정된 레포지토리는 권한을 부여받은 사람만 접근할 수 있음. 외부에 코드를 공개하지 않고, 특정 팀원이나 협력자만 프로젝트를 볼 수 있도록 할 때 사용한다.
GitHub Desktop에서 레포지토리를 퍼블릭과 프라이빗으로 설정하는 방법
- GitHub 사이트에서 새로운 레포지토리를 생성할 때 Public 또는 Private 옵션을 선택한다.
- 이미 생성된 레포지토리의 경우, GitHub 사이트에서 레포지토리의 설정(Settings) 탭으로 이동하여 Change repository visibility 옵션을 통해 공개/비공개 상태를 변경할 수 있음.
2. 커밋 및 푸시
- GitHub Desktop에서 변경된 파일을 확인하고, 커밋 메시지와 함께 기록할 수 있음. "Push origin"을 클릭해 로컬 커밋을 GitHub 원격 저장소에 업로드 한다.
3. 브랜치 생성 및 병합
- GitHub Desktop에서 "New Branch"로 브랜치를 생성하고 독립 작업을 진행할 수 있음. 작업이 끝나면 메인 프로젝트에 병합하여 최종 반영할 수 있다.
4. 충돌 해결
- 병합 중 충돌이 발생하면, GitHub Desktop에서 충돌 파일을 수정하고 다시 커밋하여 해결할 수 있다.
미니 프로젝트
유니티 강의로 들었던 르탄이 카드 뒤집기 게임을 바탕으로 새로운 카드 뒤집기 게임을 만들어 보는 것이 프로젝트의 목표이다.
우리 조는 기본 기능에 모든 도전 기능을 넣어보는 것을 최종 목표로 정했다.
내가 맡은 파트는 UI와 사운드이다.
기본적으로 게임 시작 씬에 들어가야하는 오브젝트는 게임 타이틀, 게임 시작, 옵션, 게임 종료창
게임 플레이 씬에는 남은 시간과 현재 점수
스테이지 씬에는 각 스테이지로 진입하는 버튼
마지막으로 게임 성공 혹은 실패 시 나타날 패널까지가 이번 프로젝트에서 필요한 UI이다.
무료 에셋을 이용해 만들수도 있으나, 그정도로 복잡하지 않고 테마에 맞춰 조각조각 난 걸 가져다가 쓰기 어려울 것 같아 피그마로 가볍게 만들자고 생각해, 필요한 이미지들을 직접(대충) 만들고 만들어둔 오브젝트에 이미지를 넣어줬다.


각 버튼이 동작해야 되는 기능정도 스크립트를 작성하고 오늘은 끝.
회고
그저 사전 캠프를 하며 유니티 강의를 열심히 들었을 뿐인데 미니 프로젝트 참여에 해당하는 진도였다.........
아니 강의 안보면 다시 그대로 만드는 것도 힘든데요 제가요? 프로젝트를?
싶은 심정으로 '스타트 버튼 누르면 씬 넘어가는 게 이 강의에 있었는데......' 하면서 이전에 했던 강의들을 뒤적거리며 일단은 어찌저찌 진행하고 있다.
오늘 처음 Git에 대해 배웠고, 제대로 된 사용법을 아직 숙지하지 못 한 상태에서
조원분의 카드 프리팹만 올려달라는 말씀에 진짜로 카드 프리팹만 선택해서 커밋하고 푸시했다(ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
이게... 그러면.... 다 날라가는...구나? 아뿔싸;; 만들었던 버튼이나 ui 배치 이런게 싹 날라가버렸다.
튜터님께서도 당연히 복구 못 한다는 말씀을 하셨는데, 와 근데 이정도면 진짜 싸게 배웠다는 생각이 들더라 ㅎㅎ.....
초반에 실수해서 너무 다행이라고 생각했따.....................
진짜 덕분에 사용법을 확실하게 깨닫는 날이 되었습니다.......
'내일배움캠프 Unity > 본 캠프' 카테고리의 다른 글
| [내일배움캠프][TIL] 6일차, C# 문법과 Text-RPG 만들기(2025-09-29) (0) | 2025.09.29 |
|---|---|
| [내일배움캠프][TIL] 5일차, 미니 프로젝트 발표와 컨벤션 (2025-09-26) (0) | 2025.09.26 |
| [내일배움캠프][TIL] 4일차, 미니 프로젝트 완성 (2025-09-25) (0) | 2025.09.25 |
| [내일배움캠프][TIL] 3일차, 미니 프로젝트와 PlayerPrefs, 그리고 사운드 (2025-09-24) (0) | 2025.09.24 |
| [내일배움캠프][TIL] 2일차, 미니 프로젝트 진행중 (2025-09-23) (0) | 2025.09.23 |