A Developing Developer
DAY 1. 내배캠4기 OT, 미니프로젝트 발제, Git 특강 본문
2022.11.14 내일배움캠프4기 Node.js 트랙 본캠프 시작이다.
1. 내배캠4기 OT, 미니프로젝트 발제
4~5개월간의 대장정의 시작을 알리는 OT로 오늘 하루가 시작되었다.
매니저님과 튜터님의 소개인사와 반편성, 커리큘럼, 운영방침 등을 설명해주셨다.
개인적으로 출결이 상당히 중요하다고 생각하는데, 작년에 비슷한 교육과정을 수료한 내용과 다를게 없었다.
(다필요없고 정시입실 정시퇴실, 무단결석 X, 작년 교육과정은 100% 수료했다...)
출석률도 중요하지만 출석한 시간동안 어떤 공부를 얼마나 잘 하는가가 더 중요하다는 걸 작년 과정에서 느꼈다.
그리고 또 강조하신것 중 TIL(Today I Learned), WIL(Week I Learned) 하루, 주간동안 뭘 배웠는지를 일기 형식으로 작성하는 개발일지의 일종이라고 이해했다.
오늘부터 당장 진행할 미니프로젝트도 설명해주셨는데, "팀 소개 웹페이지" 를 제작하는 것이다.
다소 맨땅의 해딩느낌으로 시작했지만, 매니저님들의 가이드를 참고해서 S.A(Starting Assignments) 도 작성해 냈다.
부족한 점이 많겠지만 어떻게든 정해진 시간에 S.A를 제작해서 링크를 넘겼다.
작년에도 교육과정 중 프로젝트를 진행해봤지만, S.A를 작성하는 단계는 처음이라 '이게 맞나?' 라는 생각으로 작성했다.
(아 내가 팀장이 되어버려서 조금 바쁘게 작성했다. 매니저님 튜터님이 빨리 보고 지적을 해주시면 좋겠다.)
https://icepri3535.tistory.com/46
팀장은 내가 맡았지만, 팀원 중 유일한 MBTI 'E' 인 형님이 계셔서 진행하는데 엄청 큰 도움이 되었다.
(팀장 깜이신데...)
전반적인 큰 구성을 ppt로 '와이어 프레임' 을 잡고 페이지 별 담당을 분배했다.
(매니저, 튜터님들이 보고 판단하시겠지만, 맨땅에 해딩치고는 S.A 마무리 만족)
2. Git 특강
첫날 16시에 강민철 튜터님께서 Git 특강을 진행하셨다.
Git 의 장점으로는 협업 개발이 수월하다는 점을 강조 하셨다.
Git 이 없었다면을 가정하여 재미있게 설명해 주셨다.
Git 이 관리하는 세 개의 공간이 있는다.
- 작업 디렉토리 : 버전 관리의 대상이 위치한 공간이다.(.git 이 있는 디렉토리)
- 스테이지 : 깃이 관리하는 가상의 공간으로, 다음 버전이 될 '후보'가 올라가는 공간이다.
- 저장소 : 깃이 관리하는 가상의 공간으로, 버전이 만들어지고 관리되는 공간이다. 저장소에 저장되면 기존 변경내역은 사라진다.
요약하면,
'작업 디렉토리' 내에서 변경 사항을 생성하고, '스테이지'로 추가(add)하고, 저장소로 커밋(commit) 하는 것이다.
- 실습(Git)
1. C 드라이브에 원하는 이름의 폴더를 생성해준다.
2. 생성한 폴더를 오른쪽 클릭 -> Git Bash Here 클릭
3. 생선한 폴더의 Git Bash 진입
4. git init 명령어 입력 : 로컬 저장소를 만들어준다.
5. touch a.txt 명령어 입력 : a.txt 파일 생성
6. git add a.txt 명령어 입력 : 스테이지에 a.txt 파일을 추가한다.
7. git commit -m "create a.txt" 명령어 입력 : 커밋 메세지 (쪽지 남기기)
8. git log 명령어 입력 : 지금까지 커밋한 메세지 보기
- 브랜치(brach) : 버전의 분기
브랜치로 버전의 분기를 관리하는 방법
1. 브랜치를 나눈다.
2. 각자의 브랜치에서 작업한다.
3. (필요하다면) 나눈 브랜치를 합친다.
HEAD
- 현재 작업 중인 브랜치의 커밋을 가리킨다.
- 일반적으로 현재 작업 중인 브랜치의 최신 커밋을 가리킨다.
- 한 마디로 "내가 지금 어디에서 작업 중인가" 를 가리킨다.
checkout
- 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것이다.
- HEAD의 위치를 특정 브랜치 최신 커밋으로 옮긴다.
- 실습 (branch)
1. git branch 명령어 입력 : 현재 브랜치 확인
2. git checkout foo 명령어 입력 : master 에서 foo 로 체크아웃 (브랜치 이동)
- 병합(merge)
병합하고자 하는 브랜치로 체크아웃하고 merge
- 실습 checkout, merge
1. git branch bar 명령어 입력 : bar 브랜치 생성
2. git checkout bar 명령어 입력 : bar 브랜치로 이동
3. touch b.txt 명령어 입력 : bar 브랜치에 b.txt 파일 생성
4. git add b.txt 명령어 입력 : bar 브랜치 스테이지에 b.txt 올리기
5. git commit -m "create b.txt" 명령어 입력 : bar 브랜치에 커밋
6. git checkout master 명령어 입력 : master 브랜치로 이동
7. git merge bar 명령어 입력 : mster 브랜치에 bar 브랜치 병합 -> master 브랜치에 a.txt 와 b.txt 생성
!! 충돌
같은 위치를 다른브런치에서 커밋하고 병합을 하면 충돌이 발생한다.
예를 들어 master 브런치와 bar 브런치 둘다 c.txt 를 생성하고 다른 텍스트를 입력후 저장하고 스테이지에 올리고 커밋하는 과정을 거친 후 병합(merge) 하면 충돌이 발생한다.
충돌이 발생했다면
1. 어떤 브랜치의 내용을 반영할지 직접 선별하고
2. 다시 커밋한다.
- GitHub
- 개발자의 SNS 로 많은 개발자들이 자신이 개발한 코드를 서로 공유하는 장이다.
원격 저장소 호스팅 서비스
컴퓨터 속에만 있는 로컬 저장소에서 벗어나 인터넷 세상(원격)에 있는 다른 컴퓨터 속의 저장소이다.
git 을 활용한 백업과 협업을 위한 서비스이고, 앞으로 프로젝트에서 엄청 많이 매우 사용될 것이다.
- 원격 저장소와 상호작용
1. 클론 (clone) : 복제해서 가져오는 것인데, github 에서 HTTPS, SSH 를 복사해서 받아 올수 있다.
2. 푸시 (push) : 로컬 저장소의 변경사항을 원격 저장소에 밀어넣는 것으로, 일종의 업로드이며, 변경사항을 업로드한다(커밋)
3. 패치 (fetch) : 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않는 경우에 사용한다. fetch 를 실행하면 원격 저장소의 최신 이력을 확인 할 수 있고, 이때 가져온 최신 커밋 이력은 이름 없는 브랜치로 로컬에 가져오게 된다.
4. 풀 (pull) : 원격 저장소의 변경사항을 로컬저장소에 당겨온다.
정리하느라 애먹었네...
==========================================
Git 특강 중 명령어 모음
>>> git init
// 로컬 저장소를 만들어준다. .git 숨김폴더 생성
>>> git status
// 현재 작업중인 디렉토리 상태를 보여주는 명령어
>>>touch a.txt
// a.txt 파일을 생성한다.
>>>git add a.txt
// 스테이지에 a.txt 파일을 추가한다.
>>>git rm --cached a.txt
// 스테이지에 a.txt 파일을 삭제한다.
>>>git commit -m "create a.txt"
// 커밋하고 메세지 남기기
>>>git config --global user.name "가급적 영어 이름"
// Author 이름 변경
>>>git config --global user.email "가급적 영어 이메일"
// Author 이메일 변경
>>>git add .
// 스테이지에 한번에 올리기
>>>git log
// 지금까지 커밋한 메세지 보기
>>>git branch
// 현재 브랜치 확인
>>>git branch bar
// bar 브랜치 생성(이동은 안함)
>>>git checkout bar
// bar 브랜치로 이동
>>>git checkout -b bar
// bar 브랜치를 생성하고 바로 이동
>>>git merge bar
// 현재 브랜치가 master 라면 bar 브랜치를 병합
==========================================
오늘은 강의배운내용 정리하는데 시간을 다 보냈는데, 내일은 팀 프로젝트 맡은 담당을 조금씩 짜봐야겠다.
9 to 9 힘드러~
TIL 정리하니까 9 to 9 종료 10분전이다...
git 더 공부하고 팀 프로젝트 프로젝트 생성까지 하려고했는데~
내일해야지~
20000
'내일배움캠프 4기 > TIL' 카테고리의 다른 글
DAY 5. TaeCho.vil 팀 프로젝트 발표 준비 및 발표, CS 특강 (0) | 2022.11.18 |
---|---|
DAY 4. TaeCho.vil 팀 프로젝트 (방명록, 제출자료 및 발표 준비) (0) | 2022.11.18 |
DAY 4. TaeCho.vil 팀 프로젝트 (방명록, 제출자료 및 발표 준비) (0) | 2022.11.17 |
DAY 3. TaeCho.vil 팀 프로젝트 (+ 캠프파이어 행사) (0) | 2022.11.16 |
DAY 2. 팀프로젝트 생성, GitHub 연결, 담당 파트 작성 (0) | 2022.11.15 |