엘리스 AI 트랙 02주차 - Git을 사용한 버전 관리 (1/1) 🔥
✔ 02주차. Git을 사용한 버전관리 개요
<수강 목표>
-
Git 사용법을 익히고 나와 나의 팀이 작성한 코드의 버전을 관리할 수 있습니다.
-
Gitlab을 활용하여 프로젝트 버전 관리, 배포 및 CI/CD를 수행할 수 있습니다.
-
컴퓨터 운영체제에 대해 학습하고 무료 운영체제인 리눅스의 기본 명령어를 익혀 설치하고 설정 및 관리할 수 있습니다.
[03 가지치기]
1. Git Branch
- git branch : 독립적으로 어떤 작업을 진행하기 위한 개념 / branch는 다른 branch 영향받지 X (독립적)
- Branch 종류 : 메인 Branch (배포 가능 수준의 안정적) / 토픽 Branch (단위 작업을 위한 Branch)
- Branch 생성 : git branch [브랜치 이름]
- Branch 확인 : git branch
- Branch 전환 : git checkout [브랜치 이름] / checkout 하면 Head 위치가 변경됨
→ checkout은 snapshot 이동시에도 사용 가능 (git log로 해시 코드 확인 후 입력 시)
2. Fast-forward
- fast - forward : Master Branch 가 아닌 별도의 Branch를 만들어 새로운 작업 후 commit
3. Merge
- Git Merge : 별도의 Branch에서 Master Branch로 이동 후 병합
- 즉, master branch에서 변경 사항 없이 새로운 내용만 추가되는 것이 fast-forward 임
- 갈라지는 branch : 각각의 branch는 다른 branch의 영향을 받지 X, 여러 작업 동시에 진행 가능
- 병합된 브랜치 확인 : git branch --merged
- branch 삭제 : git branch -d [브랜치 이름]
4. Merge conflict
- merge conflict : 병합한 두 branch에서 같은 파일 변경 시 충돌 발생
- 충돌 해결 : git status로 어느 파일에서 충돌이 발생했는지 확인하고 해당 파일을 확인
- 문제가 되는 파일을 수정하고 '<<<<<', '=====', '>>>>>' 삭제하고 commit 후 다시 merge 진행
[04 git 원격 저장소]
1. 원격 저장소 받아오기
- 원격 저장소 : 인터넷이나 네트워크 어딘가에 있는 저장소 / github이나 gitlab 등 (git 호스팅 서비스)
- 원격 저장소 받아오기 : git clone / 기존의 git repository 복사
- 원격 저장소 url로 받아오기 : git clone [원격 저장소 주소]
- 원격 저장소 연결 : git remote add origin [원격저장소 주소]
- 연결된 원격 저장소 확인 : git remote / git remote show origin
- 원격저장소 이름 변경 : git remote rename [변경 전 이름] [변경 후 이름]
- 원격 저장소 삭제 : git remote rm [원격 저장소 이름] / 주소 변경되거나 필요 없는 저장소 삭제
2. 원격 저장소 동기화
- 저장소 갱신
☞ pull : 원격 저장소에서 데이터 가져오기 + 병합 (merge)
☞ fetch : 원격 저장소에서 데이터 가져오기만 함, merge X. log로 변경된 파일 확인하고 merge 해줘야 함
- 저장소 발행 : 로컬 저장소에서 작업한 내용을 원격 저장소에 반영 / 다른 살암이 먼저 push 했으면 pull이나 fetch로 merge 하고 난 후에 push 가능함
※ 요약!
① git remote add origin으로 로컬 저장소와 원격 저장소를 연결
② git fetch or git pull로 원격 저장소의 내용을 동기화
③ git fetch 실행했다면 git merge origin/master
④ git push origin master로 변경 사항을 원격 저장소에 전달
3. Origin이란?
- origin/master : git remote add origin [원격 저장소 주소] ← 원격 저장소의 단축 이름을 origin으로 지정해 연결한다는 뜻
☞ origin 부분에 다른 이름 넣으면 해당 이름으로 저장됨 / 기본 이름은 origin
- 저장소 이름과 주소 확인 : git remote -v
같은 걸 반복해서 배우는데도 매번 새롭다.. 어쩌지? 🤣
※ 수업 자료의 출처는 K-Digital Training x 엘리스 인공지능 서비스 개발 기획 1기 (elice.io/)입니다.