1 00:00:04.267 --> 00:00:09.058 실감 심화편 ICVFX에서의 협업 및 버전 관리 2 00:00:09.058 --> 00:00:11.543 GCC 사관학교 3 00:00:27.396 --> 00:00:31.046 안녕하세요 오늘 ICVFX 협업과 버전 관리에 대한 4 00:00:31.046 --> 00:00:33.148 강의를 진행하게 될 박지용입니다 5 00:00:33.148 --> 00:00:36.098 이번 강의에서는 ICVFX 프로젝트에서 6 00:00:36.098 --> 00:00:39.148 협업과 버전 관리가 왜 중요한지 7 00:00:39.148 --> 00:00:42.072 그리고 이를 효율적으로 관리할 수 있는 8 00:00:42.072 --> 00:00:44.733 Purforce에 대해 알아보겠습니다 9 00:00:44.733 --> 00:00:47.933 이론 부분에 대해 설명한 뒤 실습을 통해 10 00:00:47.933 --> 00:00:50.083 Perforce를 실제로 설정하고 11 00:00:50.083 --> 00:00:52.153 사용하는 방법을 학습해보려고 합니다 12 00:00:52.489 --> 00:00:56.251 Perforce 소개 13 00:00:56.840 --> 00:01:00.760 버츄얼 프로덕션에서 Perforce는 중요한 역할을 합니다 14 00:01:00.760 --> 00:01:03.960 빠르게 변하는 제작 환경에서 15 00:01:03.960 --> 00:01:07.680 디지털 자산을 효율적으로 관리하는 것은 필수적인데요 16 00:01:07.680 --> 00:01:11.840 여러 팀원이 원격 또는 서로 다른 위치에서 작업을 할 때 17 00:01:11.840 --> 00:01:16.160 여러 대의 ICVFX용 랜덤 머신이 데이터 동기화를 할 때 18 00:01:16.160 --> 00:01:18.293 Perforce와 같은 소스 제어 도구는 19 00:01:18.293 --> 00:01:21.400 모든 기기가 동기화 상태를 유지하고 20 00:01:21.400 --> 00:01:24.880 버전 충돌을 방지하는 데 도움이 됩니다 21 00:01:24.880 --> 00:01:27.959 먼저 중요한 개념을 짚고 넘어가겠습니다 22 00:01:27.959 --> 00:01:31.279 많은 분들이 이 도구를 Perforce라고 부르는데 23 00:01:31.279 --> 00:01:33.759 실제 이름은 Helix Core입니다 24 00:01:33.759 --> 00:01:37.520 이제는 Perforce라는 회사가 여러 제품을 내놓고 있지만 25 00:01:37.520 --> 00:01:40.959 Helix Core가 그 중에서도 버전 관리 기능을 26 00:01:40.959 --> 00:01:44.119 수행하고 있는 소프트웨어라고 보시면 됩니다 27 00:01:44.119 --> 00:01:46.569 쉽게 말해 Perforce는 회사 이름이고 28 00:01:46.569 --> 00:01:51.199 Helix Core는 우리가 사용하는 버전 관리 소프트웨어입니다 29 00:01:51.199 --> 00:01:54.299 두번째로 알아야 할 점은 Helix Core는 30 00:01:54.299 --> 00:01:58.199 중앙 집중식 버전 관리 시스템이라는 것입니다 31 00:01:58.199 --> 00:02:00.999 중앙 집중식 버전 관리 시스템에는 32 00:02:00.999 --> 00:02:05.639 파일의 실제 원본이 되는 서버가 어딘가에 있습니다 33 00:02:05.639 --> 00:02:10.440 이 서버가 모든 파일의 버전과 히스토리를 보관합니다 34 00:02:10.440 --> 00:02:11.948 여러분이 작업할 때는 35 00:02:11.948 --> 00:02:14.919 서버에서 직접 파일을 수정하는 것이 아니라 36 00:02:14.919 --> 00:02:19.069 로컬 컴퓨터로 파일을 내려받아 작업한 후 37 00:02:19.069 --> 00:02:22.680 수정 사항을 다시 서버에 제출하는 방식입니다 38 00:02:22.680 --> 00:02:26.639 즉 서버에서 직접 파일을 편집하는 것이 아니라 39 00:02:26.639 --> 00:02:29.739 로컬에서 작업하고 그 이후에 40 00:02:29.739 --> 00:02:33.040 이를 서버에 반영하는 형태로 진행됩니다 41 00:02:33.040 --> 00:02:35.590 다른 사람이 제출한 변경 상황도 42 00:02:35.590 --> 00:02:37.790 같은 방식으로 서버에 반영되어 43 00:02:37.790 --> 00:02:40.639 최신 버전을 함께 공유할 수 있습니다 44 00:02:40.639 --> 00:02:43.789 그럼 Helix Core와 관련된 주요 작동 개념과 45 00:02:43.789 --> 00:02:46.160 용어에 대해 설명드리겠습니다 46 00:02:46.160 --> 00:02:48.410 Perforce를 처음 접하는 분들에게는 47 00:02:48.410 --> 00:02:51.040 매우 낯선 용어가 많은데요 48 00:02:51.040 --> 00:02:54.040 하지만 이 용어들의 의미와 역할을 이해하면 49 00:02:54.040 --> 00:02:57.559 Helix Core를 조금 더 효율적으로 사용할 수 있으니 50 00:02:57.559 --> 00:03:00.360 좀 더 집중해 보시면 좋을 것 같습니다 51 00:03:00.360 --> 00:03:02.910 크게 먼저 살펴보면 Helix Core에는 52 00:03:02.910 --> 00:03:06.479 실제 작업이 중앙 서버에서 이뤄지지 않습니다 53 00:03:06.479 --> 00:03:09.879 대신 서버 Depot에 저장된 파일을 54 00:03:09.879 --> 00:03:13.960 로컬 컴퓨터 Workspace로 다운로드 한 뒤에 55 00:03:13.960 --> 00:03:18.720 Sync를 진행한 다음에 변경 사항을 작업합니다 56 00:03:18.720 --> 00:03:22.170 작업이 끝난 파일은 다시 서버로 제출 57 00:03:22.170 --> 00:03:25.399 Submit하여 최신 상태를 유지할 수 있습니다 58 00:03:25.399 --> 00:03:28.039 용어 하나씩 조금 더 살펴보겠습니다 59 00:03:28.039 --> 00:03:30.160 먼저 Depot입니다 60 00:03:30.160 --> 00:03:33.919 Depot은 중앙 저장소 역할을 하는 공간입니다 61 00:03:33.919 --> 00:03:38.000 모든 파일의 원본이 저장되는 장소라고 생각하시면 됩니다 62 00:03:38.000 --> 00:03:41.750 관리자의 관리하에 접근 가능한 팀원을 설정하여 63 00:03:41.750 --> 00:03:45.720 작업에 필요한 인원이 접근할 수 있게 되는 공간입니다 64 00:03:45.720 --> 00:03:49.919 여기에는 프로젝트 전체 히스토리도 함께 보관됩니다 65 00:03:49.919 --> 00:03:54.320 쉽게 말해 모든 작업의 중앙 거점이라 생각하시면 됩니다 66 00:03:54.320 --> 00:03:57.160 그 다음으로는 Workspace입니다 67 00:03:57.160 --> 00:04:01.210 Workspace는 팀원 각각이 개인 컴퓨터 내에서 68 00:04:01.210 --> 00:04:03.559 작업할 수 있는 공간입니다 69 00:04:03.559 --> 00:04:07.659 Depot에 있는 파일들을 Workspace로 동기화하여 70 00:04:07.659 --> 00:04:11.320 로컬 환경에서 파일을 수정할 수 있습니다 71 00:04:11.320 --> 00:04:14.920 각 작업자가 개별 Workspace에서 작업하며 72 00:04:14.920 --> 00:04:18.639 필요할 때마다 Depot과 동기화합니다 73 00:04:18.639 --> 00:04:21.720 그 다음은 Sync입니다 74 00:04:21.720 --> 00:04:25.120 Sync는 Depot에 저장된 최신 파일을 75 00:04:25.120 --> 00:04:28.520 자신의 Workspace에 다운로드하는 작업입니다 76 00:04:28.520 --> 00:04:33.320 즉 서버의 최신 상태와 내 로컬 환경을 맞추는 과정입니다 77 00:04:33.320 --> 00:04:36.000 협업 환경에서 매우 중요한 작업으로 78 00:04:36.000 --> 00:04:40.000 이를 통해 팀원은 항상 최신 버전의 파일을 기반으로 79 00:04:40.000 --> 00:04:41.800 작업할 수 있습니다 80 00:04:41.800 --> 00:04:44.301 Perforce에서는 Get Latest와 81 00:04:44.301 --> 00:04:47.320 Get Revision을 통해 Sync를 합니다 82 00:04:47.320 --> 00:04:50.600 그 다음은 Submit, 제출입니다 83 00:04:50.600 --> 00:04:53.810 Submit은 로컬 환경에서 수정한 파일을 84 00:04:53.810 --> 00:04:57.410 Depot에 업로드하여 다른 팀원들도 수정 내용을 85 00:04:57.410 --> 00:04:59.919 반영할 수 있도록 하는 과정입니다 86 00:04:59.919 --> 00:05:04.069 한 팀원이 변경한 파일이 다른 팀원에게도 반영되려면 87 00:05:04.069 --> 00:05:06.119 반드시 Submit을 해야 합니다 88 00:05:06.119 --> 00:05:08.880 그 다음은 Change List입니다 89 00:05:08.880 --> 00:05:11.130 Change List는 하나의 작업이 포함된 90 00:05:11.130 --> 00:05:14.279 변경사항 목록이라 생각하시면 됩니다 91 00:05:14.279 --> 00:05:18.029 Helix Core에서 파일을 수정하고 Submit할 때 92 00:05:18.029 --> 00:05:21.959 이 수정 사항들이 Change List로 묶여 관리됩니다 93 00:05:21.959 --> 00:05:25.037 Change List는 수정한 파일을 묶음으로 추후 94 00:05:25.037 --> 00:05:29.519 변경사항을 추적하거나 관리할 때 유용하게 활용됩니다 95 00:05:29.519 --> 00:05:31.880 마지막으로 Revision입니다 96 00:05:31.880 --> 00:05:35.279 Revision은 파일을 버전으로 나타냅니다 97 00:05:35.279 --> 00:05:38.829 파일이 수정될 때마다 새로운 Revision이 생성되며 98 00:05:38.829 --> 00:05:43.720 이전 버전으로 돌아가야 할 때 유용하게 활용됩니다 99 00:05:43.720 --> 00:05:46.513 최신 버전은 Head Revision으로 불리며 100 00:05:46.513 --> 00:05:49.920 각 파일의 히스토리를 추적할 수 있습니다 101 00:05:49.920 --> 00:05:53.720 Helix Core에서 컴포넌트는 여러가지가 있습니다 102 00:05:53.720 --> 00:05:56.570 컴포넌트는 간단히 말해서 Helix Core 기능을 103 00:05:56.570 --> 00:05:59.070 목적과 역할에 따라 별도로 나눈 104 00:05:59.070 --> 00:06:01.279 소프트웨어라고 생각하시면 됩니다 105 00:06:01.279 --> 00:06:04.229 이번에는 가장 중요한 3가지 컴포넌트 106 00:06:04.229 --> 00:06:08.612 P4D, P4V, P4admin에 대해 알아보겠습니다 107 00:06:08.612 --> 00:06:12.262 P4D는 Perforce Helix Core 서버 역할을 하며 108 00:06:12.262 --> 00:06:14.799 Perforce Depot의 줄임말입니다 109 00:06:14.799 --> 00:06:18.749 역할은 모든 버전과 데이터의 중앙 저장소 110 00:06:18.749 --> 00:06:22.720 역할을 하는 서버를 구축하는 컴포넌트입니다 111 00:06:22.720 --> 00:06:25.620 P4D를 서버로 구축하고 싶은 컴퓨터에 112 00:06:25.620 --> 00:06:28.880 설치 및 경로 매핑을 추가하게 되면 113 00:06:28.880 --> 00:06:30.930 해당 컴퓨터의 해당 경로를 114 00:06:30.930 --> 00:06:33.959 Helix Core의 서버 역할로 하게 됩니다 115 00:06:33.959 --> 00:06:36.679 그 다음은 P4V입니다 116 00:06:36.679 --> 00:06:40.720 P4V는 Perforce Visual Client의 줄임말입니다 117 00:06:40.720 --> 00:06:43.970 역할은 Helix Core 서버에 연결하여 118 00:06:43.970 --> 00:06:47.160 파일을 관리하는 사용자 인터페이스입니다 119 00:06:47.160 --> 00:06:50.556 직관적인 GUI를 통해 팀원들과 쉽게 120 00:06:50.556 --> 00:06:53.040 작업 및 협업을 가능하게 합니다 121 00:06:53.040 --> 00:06:57.913 이를 통해서 사용자들은 파일을 Submit, 체크, Sync 등 122 00:06:57.913 --> 00:07:01.399 기본적인 버전 관리 작업을 수행하게 됩니다 123 00:07:01.399 --> 00:07:04.000 그 다음은 P4admin입니다 124 00:07:04.000 --> 00:07:08.600 P4admin은 Helix Core 서버의 관리 도구이며 125 00:07:08.600 --> 00:07:12.600 서버 설정 및 사용자 권한 관리 담당을 합니다 126 00:07:12.600 --> 00:07:14.850 이를 통해 서버 설정, 127 00:07:14.850 --> 00:07:18.559 프로젝트 전반의 환경을 제어하고 최적화합니다 128 00:07:18.559 --> 00:07:20.509 보통 관리자들이 사용하며 129 00:07:20.509 --> 00:07:24.720 서버, Depot, 사용자 권한 백업 등을 관리합니다 130 00:07:24.720 --> 00:07:27.440 앞에서 이야기했던 Helix Core를 활용해 131 00:07:27.440 --> 00:07:31.140 데이터를 동기화하고 협업하는 기능들을 사용하기에 132 00:07:31.140 --> 00:07:33.799 더욱 유용하고 쉬운 방법이 있습니다 133 00:07:33.799 --> 00:07:37.359 바로 언리얼 엔진에서 제공하는 Source Control 기능입니다 134 00:07:37.359 --> 00:07:41.209 해당 기능을 사용하게 되면 프로젝트 종료 후 135 00:07:41.209 --> 00:07:45.160 P4V에서 별도로 Submit하는 과정이 없이 136 00:07:45.160 --> 00:07:48.799 언리얼 엔진 내에서 바로 Submit할 수 있게 됩니다 137 00:07:48.799 --> 00:07:51.299 이는 언리얼 엔진 콘텐츠 폴더 내에서 138 00:07:51.299 --> 00:07:56.320 내가 수정한 데이터만 자동적으로 파악해서 올리기 때문에 139 00:07:56.320 --> 00:08:00.920 업로드 및 동기화 시간 자체가 매우 혁신적으로 줄어듭니다 140 00:08:00.920 --> 00:08:03.770 만약 Source Control을 사용하지 않는다면 141 00:08:03.770 --> 00:08:06.040 어떤 파일이 수정됐는지 찾아서 142 00:08:06.040 --> 00:08:07.990 그 파일만 Submit하거나 143 00:08:07.990 --> 00:08:12.160 전체 파일을 체크아웃 후 Submit해야 합니다 144 00:08:12.160 --> 00:08:13.810 하지만 Source Control은 145 00:08:13.810 --> 00:08:18.591 기존 파일에서 내가 수정한 데이터만 자동으로 체크아웃 후 146 00:08:18.591 --> 00:08:21.959 Submit할 수 있기 때문에 매우 효율적입니다 147 00:08:21.959 --> 00:08:24.206 사실 Source Control에 사용 가능한 148 00:08:24.206 --> 00:08:25.359 버전 관리 소프트웨어는 149 00:08:25.359 --> 00:08:27.279 Perforce만 있는 것이 아닙니다 150 00:08:27.279 --> 00:08:30.329 Perforce 이외에도 GIT, Subversion, 151 00:08:30.329 --> 00:08:32.679 Plastic SCM이 있습니다 152 00:08:32.679 --> 00:08:34.519 각각의 장단점이 있는데요 153 00:08:34.519 --> 00:08:38.480 GIT과 같은 경우 무료로 공개된 오픈 소스이지만 154 00:08:38.480 --> 00:08:41.330 엔지니어가 아니면 사용이 꽤 어렵고 155 00:08:41.330 --> 00:08:45.079 대규모 프로젝트에는 부적합하거나 하는 장점이 있습니다 156 00:08:45.079 --> 00:08:47.233 Subversion도 GIT과 비슷하지만 157 00:08:47.233 --> 00:08:49.959 더 복잡한 워크플로우를 가지고 있습니다 158 00:08:49.959 --> 00:08:53.079 또한 대규모 팀에는 맞지 않습니다 159 00:08:53.079 --> 00:08:56.920 Plastic SCM은 비교적 최근에 등장한 소프트웨어이고 160 00:08:56.920 --> 00:09:00.799 대규모 프로젝트에서도 효율적인 버전 관리가 된다고 하지만 161 00:09:00.799 --> 00:09:03.519 아직까지 사용자가 많은 편은 아닙니다 162 00:09:03.519 --> 00:09:06.799 Perforce는 다른 소프트웨어에 비해 장점이 많고 163 00:09:06.799 --> 00:09:10.720 확장성이 뛰어나며 대형 파일 처리에도 탁월합니다 164 00:09:10.720 --> 00:09:13.239 공동작업에 있어 중요한 부분 165 00:09:13.239 --> 00:09:16.289 예를 들어 작업자 간 충돌을 방지할 수 있는 166 00:09:16.289 --> 00:09:18.119 잠금 기능이 있고 167 00:09:18.119 --> 00:09:21.169 특히 언리얼 엔진이나 Maya 같은 168 00:09:21.169 --> 00:09:24.119 VFX 툴과의 통합이 강력하기 때문에 169 00:09:24.119 --> 00:09:26.764 저희는 Perforce를 가지고 작업하고 있습니다 170 00:09:27.226 --> 00:09:30.731 서버 및 P4V Client 구축 방법 171 00:09:33.719 --> 00:09:36.394 그러면 이제부터 Perforce에 대한 172 00:09:36.394 --> 00:09:39.559 실습 강의를 진행하도록 하겠습니다 173 00:09:39.559 --> 00:09:42.200 저는 두 대의 컴퓨터가 있다고 가정하고 174 00:09:42.200 --> 00:09:45.608 한 대는 서버, 다른 한 대는 유저 입장에서 175 00:09:45.608 --> 00:09:48.320 구축을 해보도록 하겠습니다 176 00:09:48.320 --> 00:09:52.520 우선 서버 구축을 하는 방법을 먼저 살펴보겠습니다 177 00:09:52.520 --> 00:09:55.920 우선 서버 설치를 하기 위한 설치 파일을 178 00:09:55.920 --> 00:10:00.359 다운로드 먼저 해야 합니다 179 00:10:00.359 --> 00:10:06.159 크롬에 먼저 들어가서 구글 검색에서 180 00:10:06.159 --> 00:10:09.284 perforce p4d download를 입력합니다 181 00:10:12.719 --> 00:10:15.319 이렇게 입력하시면 맨 상단에 노출되는 182 00:10:15.319 --> 00:10:18.037 P4D Download를 클릭해 줍니다 183 00:10:22.957 --> 00:10:26.907 여기 들어오셔서 FAMILY, 즉 Windows OS가 있는데 184 00:10:26.907 --> 00:10:30.479 여기서 Windows를 클릭하시고요 185 00:10:30.479 --> 00:10:33.679 그 다음에 플랫폼은 64비트 운영체제인지 186 00:10:33.679 --> 00:10:37.320 86비트 운영체제인지 확인할 수 있습니다 187 00:10:37.320 --> 00:10:41.840 여기서 저희는 64비트를 사용할 예정입니다 188 00:10:41.840 --> 00:10:46.507 이거를 기준을 알 수 있는 방법은 시스템 들어가셔서 189 00:10:50.520 --> 00:10:56.320 여기서 시스템 종류를 보시면 아실 수 있습니다 190 00:10:56.320 --> 00:10:59.356 여기서 DOWNLOAD를 클릭하십니다 191 00:11:01.919 --> 00:11:05.327 아주 적은 용량으로 바로 다운로드가 되었죠 192 00:11:08.960 --> 00:11:16.520 다운로드가 완료되었고 한번 설치를 진행하도록 해보겠습니다 193 00:11:16.520 --> 00:11:21.633 설치는 관리자 권한으로 실행해서 진행하도록 하겠습니다 194 00:11:24.679 --> 00:11:28.379 누르시면 이렇게 Helix Server (P4D)와 195 00:11:28.379 --> 00:11:30.960 Helix Command Line (P4)가 있습니다 196 00:11:30.960 --> 00:11:35.840 P4D는 말 그대로 Depot 서버를 관장하는 컴포넌트고요 197 00:11:35.840 --> 00:11:38.790 이 P4 같은 경우는 커맨드 라인 198 00:11:38.790 --> 00:11:42.440 즉 cmd로 명령어를 실행하고 199 00:11:42.440 --> 00:11:45.919 진행할 수 있도록 하는 컴포넌트 입니다 200 00:11:45.919 --> 00:11:47.969 Next를 누르시면 201 00:11:47.969 --> 00:11:50.969 여기서 기본적으로 제일 중요한 Port Number 202 00:11:50.969 --> 00:11:54.359 그리고 P4ROOT 두 개 설정하실 수 있습니다 203 00:11:54.359 --> 00:11:59.159 기본적인 디폴트 값은 1666 입니다 204 00:11:59.159 --> 00:12:02.400 1666 이대로 사용하면 되는데 205 00:12:02.400 --> 00:12:07.000 만약에 한 컴퓨터에서 여러 서버를 구축할 경우 206 00:12:07.000 --> 00:12:09.250 Port Number를 변경하여 207 00:12:09.250 --> 00:12:13.080 여러 개의 서버로 분할하여 사용할 수도 있습니다 208 00:12:13.080 --> 00:12:15.930 P4ROOT 같은 경우는 보시면 209 00:12:15.930 --> 00:12:18.330 Helix Core 서버의 데이터베이스와 210 00:12:18.330 --> 00:12:23.239 버전 파일들이 저장되는 곳입니다 211 00:12:23.239 --> 00:12:27.889 저 같은 경우는 D드라이브의 212 00:12:27.889 --> 00:12:31.320 특정 폴더 경로를 지정하겠습니다 213 00:12:31.320 --> 00:12:33.620 이렇게 하고 Next를 누르시면 214 00:12:33.620 --> 00:12:38.479 서버의 IP와 User Name을 지정하실 수 있습니다 215 00:12:38.479 --> 00:12:42.679 서버 같은 경우는 앞서 설정했던 포트 넘버가 있는데 216 00:12:42.679 --> 00:12:45.079 추가적으로 앞에 :를 넣고 217 00:12:45.079 --> 00:12:48.080 저희 IP를 입력해야 합니다 218 00:12:48.080 --> 00:12:50.780 만약 포트 넘버만 기입하게 되면 219 00:12:50.780 --> 00:12:57.433 자동적으로 본인 컴퓨터의 IP 주소로 설정됩니다 220 00:12:57.433 --> 00:13:01.183 다만 제 컴퓨터의 NIC 카드가 여러 개이기 때문에 221 00:13:01.183 --> 00:13:03.733 별도로 지정해 줘야지만 올바르게 222 00:13:03.733 --> 00:13:07.400 제가 원하는 대로 서버를 구축할 수 있습니다 223 00:13:07.400 --> 00:13:10.900 User Name 같은 경우는 이제 기본적으로 224 00:13:10.900 --> 00:13:14.280 admin 그냥 사용하도록 하겠습니다 225 00:13:14.280 --> 00:13:19.080 이제 제 IP를 어떻게 확인하는지를 알아보도록 하겠습니다 226 00:13:19.080 --> 00:13:23.015 윈도우 키를 누르시고 cmd를 실행하겠습니다 227 00:13:28.119 --> 00:13:31.427 여기서 ipconfig를 기입합니다 228 00:13:36.426 --> 00:13:39.026 이렇게 하면 제 컴퓨터에 총 2개의 229 00:13:39.026 --> 00:13:42.258 2단의 포트가 있는 걸 확인할 수 있습니다 230 00:13:42.258 --> 00:13:52.555 IPv6, IPv4 주소, 서브넷 마스크, 기본 게이트웨이 231 00:13:52.555 --> 00:13:55.892 이런 식으로 설정된 부분이 나오고요 232 00:13:55.892 --> 00:14:01.542 저 같은 경우는 지금 위에 있는 것은 외부망 233 00:14:01.542 --> 00:14:04.442 하단에 있는 것은 사설 IP로 234 00:14:04.442 --> 00:14:09.080 내부 IP로 제가 임의로 지정해서 구축해 놓은 시스템입니다 235 00:14:09.080 --> 00:14:12.515 전 내부 안에서만 쓸 거기 때문에 지금은 236 00:14:12.515 --> 00:14:14.664 해당 IP를 입력할 예정입니다 237 00:14:16.719 --> 00:14:20.995 그러면 다시 넘어와서 저는 IP를 입력하고 238 00:14:23.520 --> 00:14:25.570 Next를 누릅니다 239 00:14:25.570 --> 00:14:28.585 그리고 Install 버튼을 누릅니다 240 00:14:30.960 --> 00:14:33.874 네, 이렇게 설치가 완료가 되었습니다 241 00:14:36.320 --> 00:14:41.170 아까 설정해 두었던 p4_test 폴더에 와 있습니다 242 00:14:41.170 --> 00:14:46.440 여기에 서버 역할을 하기 위한 준비가 되어 있습니다 243 00:14:46.440 --> 00:14:50.990 그 다음 제가 이 컴퓨터를 서버 역할 뿐만 아니라 244 00:14:50.990 --> 00:14:53.290 클라이언트 역할을 할 수 있도록 245 00:14:53.290 --> 00:14:56.159 한번 세팅해 보도록 하겠습니다 246 00:14:56.159 --> 00:14:59.812 perforce P4V를 설치해 보겠습니다 247 00:15:05.010 --> 00:15:08.160 이제 여기는 빠르게 진행해 보겠습니다 248 00:15:08.160 --> 00:15:10.710 Windows, PLATFORM은 64, 249 00:15:10.710 --> 00:15:14.644 VERSION은 EXE 버전으로 하겠습니다 250 00:15:14.644 --> 00:15:19.673 DOWNLOAD, 설치를 해 보겠습니다 251 00:15:19.673 --> 00:15:23.485 이것도 마찬가지로 관리자 권한으로 실행하겠습니다 252 00:15:29.346 --> 00:15:32.296 아까처럼 여러가지가 나왔는데 이번에는 253 00:15:32.296 --> 00:15:38.119 P4V, P4Merge, P4Admin, P4 이렇게 되어 있습니다 254 00:15:38.119 --> 00:15:42.369 P4는 아까 설치되어 있긴 했지만 한 번 더 그냥 255 00:15:42.369 --> 00:15:44.743 덮어서 설치하도록 하겠습니다 256 00:15:44.743 --> 00:15:46.674 저의 UI 쪽을 사용하는 것은 사실상 257 00:15:46.674 --> 00:15:50.069 P4V랑 P4Admin이라고 보시면 되고요 258 00:15:50.069 --> 00:15:55.386 설치 경로는 그대로 해서 진행하도록 하겠습니다 259 00:15:55.386 --> 00:15:59.036 이 Server IP는 아까 제가 기입했던 주소랑 260 00:15:59.036 --> 00:16:02.762 동일하게 기입하시면 됩니다 261 00:16:02.762 --> 00:16:06.562 만약에 나 혼자 쓰는 거면 이런 식으로 262 00:16:06.562 --> 00:16:09.515 포트 넘버만 기입하셔도 됩니다 263 00:16:09.515 --> 00:16:13.765 이 상태로 admin은 그대로 사용하고 264 00:16:13.765 --> 00:16:16.119 Install 진행하겠습니다 265 00:16:16.119 --> 00:16:18.872 네, 설치가 완료되었습니다 266 00:16:18.872 --> 00:16:22.322 Start P4V를 클릭한 상태에서 267 00:16:22.322 --> 00:16:26.119 종료를 하면 바로 실행되게 됩니다 268 00:16:26.119 --> 00:16:29.366 엄청 간단하고 쉽게 되어있죠 269 00:16:29.366 --> 00:16:32.385 제가 만든 서버의 IP를 전 이미 알고 있기 때문에 270 00:16:32.385 --> 00:16:35.119 정확히 기입을 해주시고 271 00:16:35.119 --> 00:16:37.980 User를 만들겠습니다 272 00:16:37.980 --> 00:16:41.630 보통 저는 이제 기본적으로 처음 만드는 계정의 이름은 273 00:16:41.630 --> 00:16:45.673 admin으로 설정을 하고요 274 00:16:45.673 --> 00:16:48.073 저는 제 이름을 넣고 275 00:16:48.073 --> 00:16:50.673 Password는 꼭 입력하지 않아도 되기 때문에 276 00:16:50.673 --> 00:16:53.465 저는 입력하지 않겠습니다 277 00:16:53.465 --> 00:16:57.365 이거를 만약에 입력하면 12시간마다 278 00:16:57.365 --> 00:17:01.337 재입력을 해야 되는 번거로움이 조금 있긴 합니다 279 00:17:01.337 --> 00:17:03.287 혼자 사용하는 경우는 괜찮은데 280 00:17:03.287 --> 00:17:05.237 만약에 제가 가지고 있는 머신을 281 00:17:05.237 --> 00:17:07.832 수많은 사람들이 사용하거나 282 00:17:07.832 --> 00:17:09.882 이 Perforce 시스템 구성을 283 00:17:09.882 --> 00:17:12.485 여러 팀원이 같이 사용했을 때는 284 00:17:12.485 --> 00:17:15.635 관리자가 admin 계정에 대한 비밀번호를 285 00:17:15.635 --> 00:17:20.376 필수적으로 설정을 해줘야 됩니다 286 00:17:20.376 --> 00:17:26.525 그리고 이메일 주소를 입력하고 Save를 누르겠습니다 287 00:17:26.525 --> 00:17:31.119 이제 P4V의 기본 인터페이스를 설명드리겠습니다 288 00:17:31.119 --> 00:17:36.970 먼저 상단 메뉴창부터 보시면 여러가지 주요 메뉴가 있는데요 289 00:17:36.970 --> 00:17:41.119 여기에는 File, Edit, Search 등이 있습니다 290 00:17:41.119 --> 00:17:44.269 먼저 File 메뉴에는 브런치, 라벨 생성, 291 00:17:44.269 --> 00:17:46.674 그리고 작업관련 기능 등을 진행할 수가 있고요 292 00:17:51.119 --> 00:17:53.406 그리고 Edit 293 00:17:56.624 --> 00:18:00.782 작업을 되돌리거나 앞으로 진행할 수 있는 옵션이 있습니다 294 00:18:00.782 --> 00:18:06.465 그리고 Preferences 설정이 포함되어 있습니다 295 00:18:06.465 --> 00:18:11.015 Search 메뉴는 데이터가 많아졌을 때 필터를 걸어 296 00:18:11.015 --> 00:18:15.644 특정 데이터를 검색하고 작업할 수도 있도록 도와줍니다 297 00:18:19.469 --> 00:18:23.822 View 메뉴는 여러 창을 띄울 수 있는 기능이 제공됩니다 298 00:18:23.822 --> 00:18:27.872 자주 사용하는 창으로는 Depot Tree, Workspace Tree, 299 00:18:27.872 --> 00:18:29.872 History, Pending Change List, 300 00:18:29.872 --> 00:18:32.495 Submitted Change List 등이 있습니다 301 00:18:32.495 --> 00:18:37.842 특히 Workspace 창은 항상 열어두는 것이 기본입니다 302 00:18:37.842 --> 00:18:42.198 이렇게 별도의 창으로 화면에 표시됩니다 303 00:18:42.198 --> 00:18:45.400 Action 메뉴에는 파일에 대한 304 00:18:45.400 --> 00:18:50.198 Check Out, 되돌리기와 같은 Workspace 관리 기능과 305 00:18:50.198 --> 00:18:53.129 서버에 있는 파일 제어 등이 있습니다 306 00:18:57.129 --> 00:19:00.179 Connection은 P4V가 한 컴퓨터에서 307 00:19:00.179 --> 00:19:02.079 다수의 연결을 동시에 308 00:19:02.079 --> 00:19:06.119 처리할 수 있도록 도와주는 기능입니다 309 00:19:06.119 --> 00:19:08.419 그리고 Tools이나 Window 메뉴는 310 00:19:08.419 --> 00:19:11.228 나중에 한번씩 살펴보시면 좋을 것 같습니다 311 00:19:13.624 --> 00:19:15.774 화면에 보이는 여러 기능들은 312 00:19:15.774 --> 00:19:18.374 각자 고유한 역할을 가지고 있지만 313 00:19:18.374 --> 00:19:21.119 현재는 활성화된 것이 없습니다 314 00:19:21.119 --> 00:19:26.634 파일이 생성된 후에는 사용할 수가 있습니다 315 00:19:26.634 --> 00:19:30.184 위에는 간단히 말해 자주 사용하는 기능들이 316 00:19:30.184 --> 00:19:33.357 아이콘으로 배치되어 있고요 317 00:19:33.357 --> 00:19:34.406 하단에 보시면 318 00:19:37.762 --> 00:19:41.218 Depot, Workspace 등이 있습니다 319 00:19:43.951 --> 00:19:48.802 오른쪽 패널에서는 파일 내용을 보거나 320 00:19:48.802 --> 00:19:51.252 원하는 정보, Pending 데이터나 321 00:19:51.252 --> 00:19:55.891 Workspace 정보 등을 볼 수 있는 창이 있습니다 322 00:20:00.520 --> 00:20:03.720 이제 추가적으로 저희가 항상 사용하게 될 323 00:20:03.720 --> 00:20:08.080 P4admin이라는 컴포넌트에 대해서 설명해 드리겠습니다 324 00:20:08.080 --> 00:20:11.030 검색을 해서 실행했을 때 마찬가지로 325 00:20:11.030 --> 00:20:14.520 서버와 유저 이름을 기입할 수 있습니다 326 00:20:14.520 --> 00:20:19.480 기입을 하고 실행해 보도록 하겠습니다 327 00:20:19.480 --> 00:20:23.180 기본적인 UI를 설명드리면 여기에 보시면 328 00:20:23.180 --> 00:20:26.038 제가 연결되어 있는 서버들 관련돼서 329 00:20:26.038 --> 00:20:28.400 모든 리스트가 뜨게 될 거고요 330 00:20:28.400 --> 00:20:33.400 Home에서는 기본적으로 제가 사용하게 되는 331 00:20:33.400 --> 00:20:36.360 서버의 정보들을 확인할 수가 있고 332 00:20:36.360 --> 00:20:41.360 Users는 제가 아까 만들었던 유저 정보가 뜨게 됩니다 333 00:20:41.360 --> 00:20:44.110 Permissions는 이제 나중에 Depot을 만들게 되면 334 00:20:44.110 --> 00:20:48.200 Depot에 대한 Access level을 설정할 수가 있습니다 335 00:20:48.200 --> 00:20:52.599 지금 만들어진 Depot이 아예 없기 때문에 이렇게 나오고요 336 00:20:52.599 --> 00:20:55.249 Depot 들어가면 이 Depot 하위에 337 00:20:55.249 --> 00:20:59.240 제가 만든 생성된 Depot들이 나오게 되고요 338 00:20:59.240 --> 00:21:01.640 여기 전반적인 Depot을 삭제하거나 339 00:21:01.640 --> 00:21:05.080 편집하고 관리할 수가 있습니다 340 00:21:05.080 --> 00:21:11.067 그리고 추가적으로 많이 쓰는 것들은 여기에서 New입니다 341 00:21:11.067 --> 00:21:14.967 User를 새로 만들거나 Group을 새로 만들거나 342 00:21:14.967 --> 00:21:16.635 Depot을 새로 만들 수 있습니다 343 00:21:19.576 --> 00:21:21.526 그래서 이제 P4V에서는 344 00:21:21.526 --> 00:21:24.377 Depot과 Workspace 연결을 하는게 가능하지만 345 00:21:27.040 --> 00:21:30.357 Perforce 자체의 Depot을 만드는 것은 불가능합니다 346 00:21:32.760 --> 00:21:35.610 그래서 처음 초반에 작업할 때는 347 00:21:35.610 --> 00:21:40.080 P4admin에서 Depot을 만들어줘야 됩니다 348 00:21:40.080 --> 00:21:42.080 일반적으로 혼자 할 때는 당연히 349 00:21:42.080 --> 00:21:44.480 Depot을 스스로 만들고 사용하겠지만 350 00:21:44.480 --> 00:21:50.000 팀 단위로 진행할 경우는 관리자가 Depot을 만들고 351 00:21:50.000 --> 00:21:51.250 User를 만들고 352 00:21:51.250 --> 00:21:56.050 그 Depot에 대한 Permissions을 관리하면서 353 00:21:56.050 --> 00:22:01.035 전반적인 데이터를 관리한다고 보시면 됩니다 354 00:22:01.040 --> 00:22:04.839 우선 테스트 목적으로 한번 Depot을 만들 텐데요 355 00:22:04.839 --> 00:22:06.889 이 모든 것에 제일 중요한 것은 356 00:22:06.889 --> 00:22:09.600 폴더 네임, Depot 네임 등입니다 357 00:22:09.600 --> 00:22:15.080 글자 하나가 틀리면 진행이 되지 않기 때문에 358 00:22:15.080 --> 00:22:18.137 제가 임의로 359 00:22:18.137 --> 00:22:21.187 perforce_test라는 폴더를 D드라이브 하위에 360 00:22:21.187 --> 00:22:22.608 지금 만든 상태입니다 361 00:22:24.960 --> 00:22:26.525 이제 이거 자체가 362 00:22:28.520 --> 00:22:32.320 Depot 서버 구성에서 해당 부분의 하위에 363 00:22:32.320 --> 00:22:33.697 구축을 할 예정이고요 364 00:22:36.080 --> 00:22:38.712 여기 하위에 있는 폴더를 만들어 보겠습니다 365 00:22:38.712 --> 00:22:42.345 test_folder_depot 366 00:22:48.839 --> 00:22:54.520 폴더명은 이렇게 짓고, 임의로 짓고 폴더명을 복사합니다 367 00:22:54.520 --> 00:22:58.479 admin에서 Depot을 만들어 보겠습니다 368 00:22:58.479 --> 00:23:02.001 방금은 제 로컬 머신에 이제 369 00:23:02.001 --> 00:23:05.559 Depot과 연결할 폴더를 만든 거고요 370 00:23:05.559 --> 00:23:08.851 이제 동일하게 동일한 이름을 가진 371 00:23:08.851 --> 00:23:11.240 Depot을 만들 예정입니다 372 00:23:11.240 --> 00:23:14.440 보시면 이런 식으로 뜨게 되는데 373 00:23:14.440 --> 00:23:18.639 여기에 Depot 타입이 정말 다양하게 있습니다 374 00:23:18.639 --> 00:23:22.139 이제 Depot 타입 같은 경우는 예를 들어서 만약에 375 00:23:22.139 --> 00:23:25.440 꾸러미나 바구니의 성향이라 보면 되는데요 376 00:23:25.440 --> 00:23:29.759 어떤 특성을 가지고 있는 임의의 바구니라 보시면 됩니다 377 00:23:29.759 --> 00:23:33.839 가장 많이 쓰는 것 중 하나는 local과 stream입니다 378 00:23:33.839 --> 00:23:37.189 우선 오늘은 간단하게만 해볼 예정이기 때문에 379 00:23:37.189 --> 00:23:40.199 local로 진행해 보겠습니다 380 00:23:40.199 --> 00:23:46.039 Apply 클릭하시고 OK를 눌러줍니다 381 00:23:46.039 --> 00:23:49.316 이제 이렇게 되면 사실 Depot을 만든 순간부터 382 00:23:49.316 --> 00:23:52.720 admin에 들어올 일은 없습니다 383 00:23:52.720 --> 00:23:56.720 다시 P4V로 가보겠습니다 384 00:23:56.720 --> 00:23:57.920 Refresh를 누르면 385 00:23:57.920 --> 00:24:00.720 제가 방금 만든 Depot을 확인할 수가 있는데 386 00:24:00.720 --> 00:24:04.720 이건 제 서버 내에 있는 Depot이 만들어진 거고요 387 00:24:04.720 --> 00:24:08.280 여기는 제가 아직 Workspace를 할당하지 않았기 때문에 388 00:24:08.280 --> 00:24:11.776 이렇게 빈 칸이 나오게 됩니다 389 00:24:11.776 --> 00:24:14.476 이제 서버에는 Depot이 생성이 되었고 390 00:24:14.476 --> 00:24:17.440 제 로컬에 Workspace 설정을 해야 되는데요 391 00:24:17.440 --> 00:24:20.740 여기에서 New Workspace를 클릭하시면 392 00:24:20.740 --> 00:24:24.519 여기서 이름 및 루트를 설정해 줄 수 있습니다 393 00:24:24.519 --> 00:24:27.069 이름 같은 경우는 정말 다양하게 할 수 있는데 394 00:24:27.069 --> 00:24:29.399 저 같은 경우는 기본적으로 395 00:24:29.399 --> 00:24:33.480 이 컴퓨터의 목적에 따라 설정하게 됩니다 396 00:24:33.480 --> 00:24:35.697 main 또는 render_node_ 397 00:24:40.410 --> 00:24:44.010 아니면 뭐 tracking 컴퓨터다 약간 이런 식으로 398 00:24:44.010 --> 00:24:46.510 아니면 Edit 컴퓨터다 이런 식으로 399 00:24:46.510 --> 00:24:48.920 Workspace 이름을 할당을 하거나 400 00:24:48.920 --> 00:24:52.470 아니면 담당자 이름을 토대로 진행합니다 401 00:24:52.470 --> 00:24:57.320 근데 뭐가 되었든 결과적으로 끝에는 언더바를 한 다음에 402 00:24:57.320 --> 00:25:00.420 IP의 끝자리를 입력해주고 있습니다 403 00:25:00.420 --> 00:25:02.970 이래야지 상대방의 IP를 404 00:25:02.970 --> 00:25:05.440 확실히 확인하고 진행할 수가 있고요 405 00:25:05.440 --> 00:25:09.490 Workspace root 같은 경우는 Depot과 연결해서 406 00:25:09.490 --> 00:25:12.720 제 컴퓨터에 있는 서버를 구축하는 건데요 407 00:25:12.720 --> 00:25:17.270 이거는 제가 방금 만든 폴더 408 00:25:17.270 --> 00:25:20.020 이 perforce_test라는 폴더를 409 00:25:20.020 --> 00:25:23.990 최상위로 해서 만들겠습니다 410 00:25:23.990 --> 00:25:28.320 그러면 이제 기본적으로 Workspace Mappings라고 해서 411 00:25:28.320 --> 00:25:30.570 이제 이런 식으로 매핑이 되는데요 412 00:25:30.570 --> 00:25:33.520 이 체크가 되는건 매핑이 되겠습니다 413 00:25:33.520 --> 00:25:37.880 근데 저는 항상 이 모든 걸 끊고 시작합니다 그 이유는 414 00:25:37.880 --> 00:25:40.530 지금이야 만들어진 Depot이 없기 때문에 415 00:25:40.530 --> 00:25:43.280 이렇게 간단하게 나와있지만 Depot이 좀 많을 경우는 416 00:25:43.280 --> 00:25:44.980 전체를 매핑했을 경우 417 00:25:44.980 --> 00:25:48.320 굳이 저희가 필요없는 곳까지 매핑이 되기 때문에 418 00:25:48.320 --> 00:25:50.470 이렇게 삭제를 하게 됩니다 419 00:25:50.470 --> 00:25:55.750 이걸 눌러 삭제를 하시거나 아니면 여기 들어오셔서 420 00:25:55.750 --> 00:26:00.700 전체 삭제를 하시면 매핑이 삭제되게 됩니다 421 00:26:00.700 --> 00:26:03.559 OK 눌러주시고요 422 00:26:03.559 --> 00:26:06.709 이 폴더가 지금 비어있지 않다고 하는데 423 00:26:06.709 --> 00:26:08.809 이거는 No라고 눌러주겠습니다 424 00:26:08.809 --> 00:26:11.859 이제 여기까지 되면 제 Depot과 425 00:26:11.859 --> 00:26:15.640 제 로컬 스페이스가 해당 폴더 이름으로 426 00:26:15.640 --> 00:26:19.208 연결된 걸 알 수 있습니다 427 00:26:19.208 --> 00:26:20.128 보시면 428 00:26:22.880 --> 00:26:24.944 예시로 하나 만들어 보겠습니다 429 00:26:34.720 --> 00:26:36.617 텍스트 파일을 하나 만들고 430 00:26:39.160 --> 00:26:44.010 version1이라는 내용을 기입한 다음에 저장해 보겠습니다 431 00:26:44.010 --> 00:26:47.472 여기 저장을 했을 때 다시 Refresh 누르시면 432 00:26:47.472 --> 00:26:50.872 제 로컬에 파일이 생성된 것을 확인할 수 있습니다 433 00:26:50.872 --> 00:26:53.859 보시면 test1_version_1 434 00:26:53.859 --> 00:26:57.409 근데 아직 되어 있지는 않죠 435 00:26:57.409 --> 00:26:59.809 제 로컬에 추가한다고 하더라도 436 00:26:59.809 --> 00:27:02.600 자동으로 업로드 되는 건 아니고요 437 00:27:02.600 --> 00:27:06.400 이제 이거를 임의로 올려주는 과정이 필요합니다 438 00:27:06.400 --> 00:27:09.959 이 올리는 과정은 한번 시도해 볼 텐데 439 00:27:09.959 --> 00:27:12.359 안 되는 경우를 먼저 보여드릴게요 440 00:27:12.359 --> 00:27:15.000 얘를 추가하고 싶을 때 두 가지 방법 중 하나입니다 441 00:27:15.000 --> 00:27:19.950 Add를 누르거나 우클릭해서 Mark for Add를 누릅니다 442 00:27:19.950 --> 00:27:24.197 지금 누를 경우에 이런 식으로 443 00:27:24.200 --> 00:27:25.425 오류가 나게 됩니다 444 00:27:28.720 --> 00:27:30.302 이걸 해결하기 위해서는 445 00:27:30.302 --> 00:27:32.670 어떤 문제가 발생한 거냐면 446 00:27:32.670 --> 00:27:35.326 얘를 어디 경로로 올릴지에 대한 447 00:27:35.326 --> 00:27:38.519 매핑이 되어있지 않기 때문에 오류가 된 겁니다 448 00:27:38.519 --> 00:27:41.669 이걸 하기 위해서 우클릭 449 00:27:41.669 --> 00:27:44.669 Edit 해서 이제 제가 올리고 싶은 폴더 450 00:27:44.669 --> 00:27:47.619 test_folder_depot을 선택 451 00:27:47.619 --> 00:27:51.440 체크하시면 이런 식으로 매핑이 되게 되고 452 00:27:51.440 --> 00:27:54.690 Apply, OK 453 00:27:54.690 --> 00:28:00.079 이렇게 되면 기본적인 매핑은 된 거고요 다시 한번 454 00:28:00.079 --> 00:28:05.541 Add를 눌러보면 아까와 다르게 이런 식으로 455 00:28:05.541 --> 00:28:07.841 Add가 된 걸 확인할 수 있습니다 456 00:28:07.841 --> 00:28:13.320 이 상태에서 보시면 이런 식으로 연결된 거고요 457 00:28:13.320 --> 00:28:17.070 다만 이 상태에서 감안하셔야 될 게 458 00:28:17.070 --> 00:28:20.920 이 플러스가 있는 상태라고 하면 459 00:28:20.920 --> 00:28:22.920 완벽하게 올라간 상태가 아니고 460 00:28:22.920 --> 00:28:26.930 이것을 올릴 준비를 했다는 표시입니다 461 00:28:26.930 --> 00:28:30.680 최종적으로 올리려면 이 Add를 누른 상태에서 462 00:28:30.680 --> 00:28:34.124 Add가 추가된 상태에서 Submit을 눌러주게 됩니다 463 00:28:34.124 --> 00:28:36.824 Submit을 누르게 되면 이런 식으로 464 00:28:36.824 --> 00:28:41.045 어떤 파일을 Submit 할지 465 00:28:41.045 --> 00:28:42.969 설명드렸던 것처럼 이거는 466 00:28:42.969 --> 00:28:47.395 Change List라는 이름 아래에 묶이게 되는데요 467 00:28:47.395 --> 00:28:51.400 기본적으로 이게 어떤 수정을 했는지 설명을 써줘야 됩니다 468 00:28:51.400 --> 00:28:53.850 이 설명을 쓰는 이유는 이 버전이 469 00:28:53.850 --> 00:28:55.850 이 Change List가 어떤 행위를 했는지 470 00:28:55.850 --> 00:29:00.791 기입을 해놔야 나중에 역으로 옛날 버전을 복원한다든지 471 00:29:00.791 --> 00:29:05.119 확인할 때 정확히 알 수 있습니다 472 00:29:05.119 --> 00:29:08.695 text file 473 00:29:08.695 --> 00:29:13.252 이런 식으로 기입해서 Submit 해보겠습니다 474 00:29:13.252 --> 00:29:18.302 네 이렇게 되면 하단에 Submitted change 1 475 00:29:18.302 --> 00:29:21.002 파일 하나가 추가 되었다는걸 확인할 수가 있고 476 00:29:21.002 --> 00:29:24.159 이 표기가 빨간색 [+]가 아닌 477 00:29:24.159 --> 00:29:26.635 우측 하단에 초록색 점이 생겼고 478 00:29:26.635 --> 00:29:30.919 Depot에도 동일하게 생긴 것을 확인할 수 있습니다 479 00:29:30.919 --> 00:29:35.520 이걸 더블 클릭하게 되면 실행할 수가 있는데 480 00:29:35.520 --> 00:29:37.996 이런 식으로 version1의 텍스트 파일을 481 00:29:37.996 --> 00:29:39.720 확인할 수 있습니다 482 00:29:39.720 --> 00:29:41.848 이제 여기까지가 올리는 과정이고요 483 00:29:44.200 --> 00:29:49.073 만약에 이거를 수정을 한번 해보겠습니다 484 00:29:55.624 --> 00:29:57.374 기본적으로 이 파일은 485 00:29:57.374 --> 00:30:00.724 이 perforce에 엮여있는 파일이기 때문에 486 00:30:00.724 --> 00:30:04.520 속성에 들어가시면 읽기 전용에 체크되어 있습니다 487 00:30:04.520 --> 00:30:08.239 이걸 해제한 상태에서 한번 테스트 해보겠습니다 488 00:30:08.239 --> 00:30:11.789 얘를 version1이 아니라 version2로 489 00:30:11.789 --> 00:30:13.280 내용을 수정했습니다 490 00:30:13.280 --> 00:30:19.170 이 상태에서 저장을 했으면 이런 식으로 되어 있고요 491 00:30:19.170 --> 00:30:22.620 다시 Refresh 눌러보면 이게 흰색에서 492 00:30:22.620 --> 00:30:26.520 파란색으로 변경되었다는 표시가 뜹니다 493 00:30:26.520 --> 00:30:30.120 이 표기의 의미는 이 파일이 기존과 다르게 494 00:30:30.120 --> 00:30:35.019 데이터가 수정되었다는 것을 의미합니다 495 00:30:35.019 --> 00:30:36.769 수정이 되었기 때문에 496 00:30:36.769 --> 00:30:38.978 이걸 다시 올려주는 과정이 필요한데요 497 00:30:42.681 --> 00:30:46.381 이제 수정된 걸 다시 올릴 때는, 버전을 올릴 때는 498 00:30:46.381 --> 00:30:49.080 Checkout을 해야 됩니다 499 00:30:49.080 --> 00:30:52.687 Checkout을 클릭하시고 500 00:30:52.687 --> 00:30:56.487 Submit을 다시 눌러주게 됩니다 501 00:30:56.487 --> 00:30:59.128 이제 description도 다시 써줘야 되는데요 502 00:31:05.345 --> 00:31:08.840 이런 식으로 다시 Submit을 해보겠습니다 503 00:31:08.840 --> 00:31:13.540 이렇게 되면 Submitted change 2가 되었고요 504 00:31:13.540 --> 00:31:17.799 file 하나가 Edit 되었다는 것을 확인할 수 있습니다 505 00:31:17.799 --> 00:31:20.749 이렇게 되면 얘를 다시 서버 실행해봐도 506 00:31:20.749 --> 00:31:24.359 version2라는 걸로 내용이 수정된 걸 확인할 수 있습니다 507 00:31:24.359 --> 00:31:27.562 다만 이제 주의 깊게 보신 분은 아마 아시겠지만 508 00:31:27.562 --> 00:31:29.880 여기서 달라진 게 하나 있는데요 509 00:31:29.880 --> 00:31:34.580 여기 우측에 2/2 이게 달라졌습니다 510 00:31:34.580 --> 00:31:36.361 이게 의미하는 게 뭐냐면 511 00:31:36.361 --> 00:31:42.859 왼쪽은 현재 버전, 오른쪽은 최종 버전입니다 512 00:31:42.859 --> 00:31:47.200 이게 무슨 말이냐면 총 2개의 버전이 있는 파일이고요 513 00:31:47.200 --> 00:31:52.600 이거는 현재 있는 파일은 두 번째 버전이라는 의미입니다 514 00:31:52.600 --> 00:31:56.642 예를 들어서 이 친구를 version1로 돌리고 싶다 하면 515 00:31:56.642 --> 00:32:01.319 우클릭해서 Get Revision을 눌러봤을 때 516 00:32:01.319 --> 00:32:04.919 이런 식으로 특정 버전으로 돌아갈 수 있는게 나옵니다 517 00:32:04.919 --> 00:32:08.569 저는 이거 버전을 1버전으로 돌리고 싶고요 518 00:32:08.569 --> 00:32:12.520 Force Operation을 누르면 강제로 돌리게 됩니다 519 00:32:12.520 --> 00:32:17.120 이렇게 되면 이런 식으로 총 2개의 버전 중 520 00:32:17.120 --> 00:32:21.440 첫 번째 버전으로 돌아간 것을 의미합니다 521 00:32:21.440 --> 00:32:24.590 서버도 마찬가지로 동일하게 적용되고요 522 00:32:24.590 --> 00:32:29.690 이거 다시 클릭했을 때 그 메모장 파일이 version1 523 00:32:29.690 --> 00:32:33.679 아까 맨 처음 만들었던 버전으로 돌아간 걸 알 수 있습니다 524 00:32:33.679 --> 00:32:36.179 이런 식으로 Perforce는 525 00:32:36.179 --> 00:32:39.329 제가 Submit을 하고 Change List를 쌓아간다고 하면 526 00:32:39.329 --> 00:32:42.279 예전 버전으로 돌아가고 관리할 수가 527 00:32:42.279 --> 00:32:44.119 편하게 관리할 수가 있습니다 528 00:32:44.119 --> 00:32:49.119 이 의미는 결과적으로 데이터에 에러가 발생을 했을 때나 529 00:32:49.119 --> 00:32:50.911 옛날 버전 돌아가고 싶을 때 530 00:32:50.911 --> 00:32:53.911 어떤 것보다 쉽게 돌아가거나 531 00:32:53.911 --> 00:32:57.161 다시 되돌아 오거나 이 모든 것을 할 수 있습니다 532 00:32:57.161 --> 00:32:59.561 여기서 만약 최종 버전 다시 돌아가고 싶다 하면 533 00:32:59.561 --> 00:33:01.400 이 친구를 누른 상태에서 534 00:33:01.400 --> 00:33:05.500 Get Latest을 누르시면 바로 535 00:33:05.500 --> 00:33:08.719 맨 마지막 버전으로 돌아오게 됩니다 536 00:33:08.719 --> 00:33:11.619 다시 클릭해 보면 버전이 537 00:33:11.619 --> 00:33:14.969 추가가 된 것을 확인할 수가 있습니다 538 00:33:14.969 --> 00:33:17.599 지금 언리얼을 켜봤는데요 539 00:33:17.599 --> 00:33:22.599 이제 언리얼을 기본적으로 제공하는 프로젝트입니다 540 00:33:22.599 --> 00:33:25.799 이제 이 프로젝트를 Source Control에 연결하면서 541 00:33:25.799 --> 00:33:29.960 버전 관리를 한번 해 보려고 하는데요 542 00:33:29.960 --> 00:33:33.460 현재 제 로컬에는 프로젝트가 존재하지만 543 00:33:33.460 --> 00:33:37.239 아직 Depot에 업로드 된 상태는 아닙니다 544 00:33:37.239 --> 00:33:40.989 앞서 말씀드린 것처럼 Perforce의 기본 작업 방식은 545 00:33:40.989 --> 00:33:44.639 Depot에서 데이터를 받아와 로컬에 수정하고 546 00:33:44.639 --> 00:33:48.039 다시 업로드하는 흐름으로 이루어집니다 547 00:33:48.039 --> 00:33:51.539 그러나 현재 상태에서는 프로젝트가 로컬에만 있고 548 00:33:51.539 --> 00:33:54.239 Depot에는 없기 때문에 수정한 데이터를 549 00:33:54.239 --> 00:33:57.000 업로드할 대상이 없는 상태입니다 550 00:33:57.000 --> 00:34:01.300 따라서 이 프로젝트를 Depot에 올리는 과정이 필요합니다 551 00:34:01.300 --> 00:34:04.176 지금부터 이 프로젝트를 업로드 해 보겠습니다 552 00:34:08.000 --> 00:34:10.250 이제 프로젝트를 업로드 할 텐데 553 00:34:10.250 --> 00:34:13.799 여기서 중요한 핵심 요소를 짚고 넘어가야 합니다 554 00:34:13.799 --> 00:34:15.899 제가 언리얼 엔진을 Perforce와 함께 555 00:34:15.899 --> 00:34:18.049 사용하는 주요 목적 중 하나는 556 00:34:18.049 --> 00:34:21.640 ICVFX 작업을 수행하기 위해서입니다 557 00:34:21.640 --> 00:34:25.940 이를 위해 Config, Content, uproject 3개만 558 00:34:25.940 --> 00:34:29.219 반드시 업로드 하는 것이 가장 중요합니다 559 00:34:29.219 --> 00:34:31.669 반대로 Cache나 Saved와 같은 폴더는 560 00:34:31.669 --> 00:34:34.679 업로드하지 않는 것이 매우 중요합니다 561 00:34:34.679 --> 00:34:38.029 만약 플러그인 폴더나 다른 유용한 폴더가 있다면 562 00:34:38.029 --> 00:34:40.177 그런 폴더는 업로드 하는 것이 맞습니다 563 00:34:42.719 --> 00:34:49.404 P4Admin에서 Depot을 만들어 줘야 됩니다 564 00:34:49.404 --> 00:34:51.699 Depot 이름은 아까 말씀드렸던 것처럼 565 00:34:51.699 --> 00:34:55.280 동일한 로컬과 동일한 폴더 이름으로 해줘야 됩니다 566 00:34:55.280 --> 00:34:59.872 test_ue_project 567 00:35:12.760 --> 00:35:16.660 네, Depot이 생성이 되었고요 568 00:35:16.660 --> 00:35:22.356 다시 Refresh 눌러서 연결되었죠 569 00:35:22.356 --> 00:35:26.507 이 상태에서 다시 Edit 570 00:35:26.507 --> 00:35:27.765 매핑을 해줍니다 571 00:35:32.864 --> 00:35:36.664 Apply, 여기서 항상 보면 이런 식으로 572 00:35:36.664 --> 00:35:40.119 최근 버전을 모든 파일에 대해서 573 00:35:40.119 --> 00:35:42.519 너의 workspace view에 할 건지 물어보는데 574 00:35:42.519 --> 00:35:45.519 항상 Don't를 눌러주셔야 됩니다 575 00:35:45.519 --> 00:35:48.359 이 상태에서 제가 원하는 파일만 576 00:35:48.359 --> 00:35:54.119 선택을 해서 Add을 눌러주시고 577 00:35:54.119 --> 00:35:56.319 총 489개의 파일이 578 00:35:56.319 --> 00:35:59.919 Edit 되었다는 것을 확인한 상태에서 579 00:35:59.919 --> 00:36:01.187 Submit을 눌러줍니다 580 00:36:16.624 --> 00:36:18.974 네, 업로드가 됐습니다 581 00:36:18.974 --> 00:36:23.774 보시면 제 로컬에는 이런 식으로 확인이 되었고 582 00:36:23.774 --> 00:36:29.474 Depot에도 이렇게 업로드 된 것을 확인할 수 있습니다 583 00:36:29.474 --> 00:36:34.307 다시 프로젝트를 실행해 보겠습니다 584 00:36:34.307 --> 00:36:35.119 여기서 585 00:36:44.197 --> 00:36:47.147 네 이제 연결된 것을 확인할 수가 있고요 586 00:36:47.147 --> 00:36:52.159 레벨을 저희가 수정을 한 다음에 Check Out을 하고 587 00:36:56.000 --> 00:37:00.150 이제 이렇게 되면 어떤 게 체크아웃을 한 것인지 588 00:37:00.150 --> 00:37:03.150 확인할 수가 있고요 589 00:37:03.150 --> 00:37:07.139 이제 다 수정을 원하는 것들은 선택하신 다음에 590 00:37:13.277 --> 00:37:15.977 Changelist Description이 뜨게 됩니다 591 00:37:15.977 --> 00:37:19.327 이거는 아까 Perforce에서 Description을 썼던 칸이랑 592 00:37:19.327 --> 00:37:21.129 동일한 목적이라고 보시면 되고요 593 00:37:29.881 --> 00:37:32.181 이런 식으로 설명을 기입한 다음에 594 00:37:32.181 --> 00:37:35.406 Submit을 해주면 됩니다 595 00:37:35.406 --> 00:37:40.664 이렇게 되면 제 로컬에서 맵에서 움직였던 이 친구랑 596 00:37:40.664 --> 00:37:43.206 서버 안에 있는 데이터랑 동일하게 597 00:37:43.206 --> 00:37:46.703 연동된다고 보시면 됩니다 598 00:37:46.703 --> 00:37:50.553 이런 식으로 Submitted changelist 5 599 00:37:50.553 --> 00:37:54.000 이렇게 뜨게 됩니다 600 00:37:54.000 --> 00:37:58.250 여기는 애니메이션을 제가 수정을 한 다음에 601 00:37:58.250 --> 00:38:05.500 여기서 개별로 이 친구는 수정을 하였다고 해서 602 00:38:05.500 --> 00:38:10.435 Check Out을 시킨 다음에 603 00:38:10.435 --> 00:38:12.335 네, 이렇게 Check Out을 하면 604 00:38:12.335 --> 00:38:15.535 Perforce처럼 똑같이 체크가 되면서 605 00:38:15.535 --> 00:38:19.931 이 친구는 수정이 되었다는 걸 표기하는 방법이고요 606 00:38:19.931 --> 00:38:24.531 이 상태에서 업로드를 해보겠습니다 607 00:38:24.531 --> 00:38:28.742 업로드는 Check In 서버에 올리는 과정을 하고요 608 00:38:40.564 --> 00:38:43.914 이런 식으로 서버에 올라가게 되면서 609 00:38:43.914 --> 00:38:46.980 체크되었던 표시가 사라지게 됩니다 610 00:38:46.980 --> 00:38:50.158 이거를 만약에 Perforce에 가서 본다고 하면 611 00:38:52.880 --> 00:38:54.713 Perforce 한번 보겠습니다 612 00:38:54.713 --> 00:38:58.163 방금 제가 언리얼에서 Submit한 Changelist를 613 00:38:58.163 --> 00:39:01.742 여기서 동일하게 확인할 수 있습니다 614 00:39:01.742 --> 00:39:04.942 이거를 좀 더 통으로 오픈해보면 615 00:39:04.942 --> 00:39:07.642 제가 어떠한 파일을 어떻게 수정했는지에 대한 616 00:39:07.642 --> 00:39:10.663 간략한 정보를 볼 수가 있습니다 617 00:39:13.415 --> 00:39:17.715 이런 방식을 통해서 언리얼과 함께 618 00:39:17.715 --> 00:39:21.465 진행한다고 보시면 될 것 같습니다 619 00:39:21.465 --> 00:39:24.215 이렇게 해서 오늘 ICVFX 협업과 620 00:39:24.215 --> 00:39:27.059 버전 관리에 대한 강의를 마무리 하겠습니다 621 00:39:27.059 --> 00:39:29.949 오늘 배운 협업과 버전 관리 방식이 622 00:39:29.949 --> 00:39:33.445 여러분의 프로젝트에 큰 도움이 되기를 바랍니다 623 00:39:33.445 --> 00:39:37.366 프로젝트의 복잡성이 커질수록 이러한 관리가 더 중요합니다 624 00:39:37.366 --> 00:39:40.566 협업할 때 서로의 작업을 안전하게 통합하고 625 00:39:40.566 --> 00:39:43.116 과거 버전으로 쉽게 돌아갈 수 있는 기능들이 626 00:39:43.116 --> 00:39:44.703 큰 역할을 합니다 627 00:39:44.703 --> 00:39:47.303 추가적으로 ICVFX를 하기 위한 628 00:39:47.303 --> 00:39:51.267 랜덤 머신의 기간 데이터 동기화를 위해 필수적입니다 629 00:39:51.267 --> 00:39:54.517 앞으로도 스스로 다양한 실습을 진행하여 630 00:39:54.517 --> 00:39:57.416 적극적으로 활용해 보시길 바랍니다 631 00:39:57.416 --> 00:39:59.863 그럼 이번 시간 학습한 내용을 정리하면서 632 00:39:59.863 --> 00:40:02.346 마무리 하겠습니다, 감사합니다 633 00:40:03.783 --> 00:40:04.765 Perforce 소개 Helix Core Perforce사의 여러 제품 중 버전 관리 기능을 수행하는 소프트웨어 중앙집중식 버전 관리 시스템 634 00:40:04.765 --> 00:40:05.718 Helix Core의 주요 용어 및 개념 Depot: 모든 파일의 원본이 저장되는 중앙 저장소 Workspace: 개인 컴퓨터 내의 작업 공간 635 00:40:05.718 --> 00:40:06.634 Sync: Depot에 저장된 최신 파일을 자신의 워크스페이스에 다운로드하는 작업 Submit: 로컬에서 수정한 파일을 Depot에 업로드해 다른 팀원도 636 00:40:06.634 --> 00:40:07.581 수정 내용을 반영할 수 있게 하는 과정 Change List: Helix Core에서 파일 수정 후 Submit 시 수정 사항이 Change List로 묶여 관리됨 637 00:40:07.581 --> 00:40:08.555 Revision: 파일의 버전을 나타내며 파일 수정 시마다 새로운 리비전이 생성됨 638 00:40:08.555 --> 00:40:09.366 Helix Core의 주요 컴포넌트 P4D (Perforce Depot): 모든 버전과 데이터의 중앙 저장소 역할을 하는 서버를 구축하는 컴포넌트 639 00:40:09.366 --> 00:40:10.227 P4V (Perforce Visual Client): Helix Core 서버에 연결하여 파일을 관리하는 사용자 인터페이스 640 00:40:10.227 --> 00:40:11.009 P4admin (Perforce Administration Tool): Helix Core 서버 관리 도구로, 서버 설정 및 사용자 권한 관리를 담당함 641 00:40:11.009 --> 00:40:11.851 언리얼 엔진 Source Control 프로젝트 종료 후 P4V에서 별도 과정 없이 언리얼 엔진 내에서 바로 Submit할 수 있음 642 00:40:11.851 --> 00:40:12.688 언리얼 엔진 콘텐츠 폴더 내 수정 데이터만 자동 파악해 올리므로 업로드 및 동기화 시간 자체가 혁신적으로 줄어듦 643 00:40:12.688 --> 00:40:13.508 기존 파일에서 수정한 데이터만 자동으로 체크아웃 후 Submit 할 수 있어 효율적임 644 00:40:13.508 --> 00:40:14.308 서버 및 P4V Client 구축 방법 서버 구축 크롬 검색창에 Perforce p4d download 입력 후 Download Helix Core(P4D) Server 선택 645 00:40:14.308 --> 00:40:15.158 Family, Platform 항목 설정하고 다운로드 후 관리자 권한으로 실행 선택 P4ROOT 저장 경로 설정 및 cmd 실행 후 ipconfig 입력 646 00:40:15.158 --> 00:40:16.008 Server에 IP 주소 입력 후 Next > Install 선택 647 00:40:16.008 --> 00:40:16.808 클라이언트 세팅 크롬 검색창에 Perforce p4v download 입력 후 선택 648 00:40:16.808 --> 00:40:17.658 Family, Platform, Version 항목 설정하고 다운로드 후 관리자 권한으로 실행 선택 649 00:40:17.658 --> 00:40:18.504 Server P4D 설치 시 입력한 IP 주소 입력 및 User 옵션 입력 후 저장 650 00:40:18.504 --> 00:40:19.504 P4V 기본 인터페이스 File: 브런치, 라벨 생성, 작업 관련 기능 등 Edit: 작업 되돌리기, 앞으로 진행, Preferences 설정 등 651 00:40:19.504 --> 00:40:20.454 Search: 특정 데이터 검색 및 작업 기능 등 View: 여러 창을 띄울 수 있는 기능 등 Connection: P4V가 다수의 연결을 동시에 처리하도록 도와주는 기능 652 00:40:20.454 --> 00:40:21.425 화면 좌측에 Depot, Workspace 창, 화면 우측에 Files, Pending, Workspaces 창 제시 653 00:40:21.425 --> 00:40:22.415 P4admin 컴포넌트 화면 좌측 Connections 창에 연결된 서버 관련 리스트가 제시됨 Permissions에서 Depot에 대한 Access level을 설정할 수 있음 654 00:40:22.415 --> 00:40:23.474 Depots에서 Depot 삭제, 편집 등을 관리함 File > New 메뉴에서 User, Group, Depot을 새로 생성할 수 있음 655 00:40:23.474 --> 00:40:24.474 서버 및 P4V Client 구축 방법 Depot 생성 perforce_test 폴더 생성 후 하위에 test_folder_depot 생성 656 00:40:24.474 --> 00:40:25.474 File > New > Depot 선택 후 동일한 이름의 test_folder_depot 생성 및 local로 Depot type 설정 657 00:40:25.474 --> 00:40:26.474 로컬 Workspace 설정 Workspace > New Workspace 선택 후 perforce_test 폴더를 최상위 폴더로 지정 658 00:40:26.474 --> 00:40:27.424 test_folder_depot 폴더에 텍스트 파일 생성 Workspaces 패널에서 main_30 마우스 우클릭 후 Edit Workspace 'main_30' 선택 659 00:40:27.424 --> 00:40:28.417 test_folder_depot을 체크해 매핑한 후 Apply함 업로드할 파일 선택 후 Submit를 클릭 Changelist Description 입력 후 Submit 선택 660 00:40:28.417 --> 00:40:29.667 버전 수정 파일 속성에서 읽기 전용 체크를 해제함 텍스트 파일 수정 후 Checkout하고, Changelist Description 기입 후 Submit 선택 661 00:40:29.667 --> 00:40:30.917 프로젝트 업로드 Config, Content, project 3개만 업로드 함 P4admin에서 로컬과 동일한 이름의 Depot 생성 662 00:40:30.917 --> 00:40:32.167 Workspaces 패널에서 main_30 마우스 우클릭 후 Edit Workspace 'main_30' 선택 test_ue_project를 체크해 매핑 후 Apply 선택 663 00:40:32.167 --> 00:40:33.373 원하는 파일만 선택한 후 Add 버튼 클릭 파일 추가 확인 후 Submit 버튼 클릭해 Changelist Description 입력하고 Submit 선택