드디어! '진짜' 부트캠프가 오늘부터 시작이다.
첫 날이라 그런지 OT 때 이것저것을 알려줬는데 뭔가 머리에 제대로 안들어올거 같아 전체적으로 녹화를 했다.
그런데.. 녹화본을 준다고 한다... 이럴수가
그렇게 OT를 끝내고 강민철 튜터님의 Git 특강을 들었다.
일단 Git 에 대한 특징 3가지!
1. 변경 내역 확인이 쉬움 (버전에 따른 메모를 통해 확인하는 듯 하다.)
2. 작업을 되돌리기 쉬움 (버전에 따라, 버전 메모에 따라 원하는 작업으로 되돌리기가 쉽다고 한다.)
3. 협력하기가 쉬움 (프로젝트를 한 곳(서버?)에 모아놓고 작업해서 그런듯 하다.)
결국 Git 이란 버전을 관리하기 위한 도구라고 한다.
여기서 말하는 버전은 유의미한 변화가 결과물로 나온 것 (커밋 이라고도 한다.)
결국 Git 을 사용한다는 것은...
1. 변경 내역들을 기억하며
2. 필요하다면 작업을 되돌리며
3. 여러명의 코드를 쉽게 나누고 합치며
개발하는 것
인터넷 상에서 git으로 관리한 프로젝트를 관리해주는 서비스!
였는데 이제는 개발자들의 SNS 역할을 하기도 한다!
Git은 3개의 공간을 관리하는데..
1. 작업 디렉토리 (눈에 보임)
2. 스테이지 (눈에 안보임, 가상공간)
3. 저장소 (눈에 안보임, 가상공간)
이거를 누가 굉장히 쉽게 설명해줬었는데
디렉토리 - 엔터테이먼트
파일들 - 연습생
스테이지 - 연습 다한 연습생 (이 표현이 맞나..?)
이런식으로 설명해줘서 정말 이해가 잘 됐다. 여기에 저장소에 대한 설명을 내가 추가해보자면..
저장소 - 데뷔한 연습생들의 기숙사 (이 정도로 생각하면 될 듯 하다)
이렇게 비유 할 수 있을 것 같다.
아무튼, 위의 설명대로 디렉토리의 파일들을 변경해서, 새로운 버전을 만들만한 유의미한 변화가 있었다면!
해당 파일들을 '스테이지' 로 올려보낸다고 생각하면 된다.
이제 Git bash 를 이용해 실습을 해보자.
일단 자신이 원하는 폴더에 들어가야 한다. 여기서는 cd 원하는폴더 명령어를 통해 들어갈 수 있다.
혹은! cd (원하는 폴더 드래그,드랍)을 통해서도 가능하다.
나는 드래그,드랍을 이용해 바탕화면에 만들어둔 폴더로 들어갔다.
그 후 git init 명령어를 쳐본다.
이는 '현재 내가 있는 위치에서 버전 관리를 시작하겠다!' 라는 뜻이고, 결국 '비어있는 저장소를 만들어주겠다' 라는 의미이다.
그 후 ls 를 통해 내가 만들어준 git 을 확인해봤다.
어라? 아무것도 나오지 않는다.
git 은 다른 파일들과 다르게 숨김처리가 되어 ls 가 아닌 ls -a 를 통해 확인해야 한다.
git을 확인했다면, 이제 touch a.txt 를 통해 a.txt 라는 파일을 새로 만들어보자.
만들었는가? '파일생성' 이것은 무려 유의미한 변경사항이다.
우리는 유의미한 변화가 있을 때 새로운 버전을 만든다고 했고, 이제 새로운 버전을 만들기 위해 유의미한 변경사항이 있는 파일을 스테이지로 올리려고 한다.

(예시 이미지)
이 유의미한 변경사항이 있는 파일을 '스테이지'로 옮길 때, 우리는 이를 스테이지로 add한다 라고도 한다.
git add 파일이름 을 통해 해당 파일을 '스테이지'로 옮겨주자.
그 후 '스테이지'에 있는 변경사항을 실제 버전으로 만들어주는 것을 커밋이라고 한다.
git commit -m "커밋메시지" 를 통해 커밋해주면 되며, 커밋 메시지에 변경사항을 적어주면 된다. (a.txt 추가 등)
결국 작업 디렉토리에서 작업 후,
원하는 파일들만 스테이지로 add 한 다음,
저장소로 커밋 하는 것을 버전을 만든다 라고 볼 수 있는 것이다.
(만들어진 버전을 보는 명령어는 git log 이다.)

(git 명령어 모음)
그리고 git hub 를 통해
등의 상호작용이 가능하다는 것도 배웠다.
아무튼 OT가 끝나고 팀원끼리 모여 미니 프로젝트를 진행했다.
진행하기 앞서, 팀장을 뽑았고 팀장은.. 나였다....
많이 부족하지만 열심히 해봐야지 어쩔 수 있나
그렇게 우리에게 주어진 첫 프로젝트는 '팀원 소개 페이지' 만들기였다.
처음으로 SA라는 단어를 들어봤고, 처음으로 작성도 해봤다.
S.A. 란?
Starting Assignments 의 약자로 프로젝트를 진행하기 전에 계획은 어떻게 되는지, 어떤 것들을 진행할 것인지를 정리해둔 것
이번 S.A.에서는 프로젝트 제목, 간단한 설명, 와이어프레임, API 기능 표 를 적었다.
우와...정리에 감탄
이미 작성하신것만 봐도 너무나 잘하고 계신것같아요!