Boostcamp AI Tech (Day 011)
1. Github 특강을 위한 사전 학습
학습 일정
- 특강 일시: 8월 27일(화), 28일(수)
- 강사: 이고잉님
이번 특강을 원활하게 수강하기 위해, 아래의 내용을 사전에 학습해 주시기 바랍니다.
사전 학습 안내
특강 전까지 부스트코스 Github으로 따라하는 버전 관리 강좌의 ‘Git 기초’ 부분을 수강
Git과 Github은 협업을 위한 도구로, 소프트웨어 개발 시 버전 관리 시스템(VCS, Version Control System)으로 활용된다. 이번 특강을 통해 Git과 Github이 무엇인지 이해하고, Git server와 Git client의 역할을 알아보기.
학습 목표
- Git과 Github에 대해 이해합니다.
- Git server와 Git client의 역할을 설명할 수 있습니다.
핵심 단어
- Git
- Github
- Git client
- Git server
Git
소프트웨어 개발 시 여러 사람이 협업하여 작업 효율을 높이기 위해 버전 관리가 필수적입니다. Git은 소스코드를 관리하는 대표적인 버전 관리 시스템 중 하나로, 협업 시 필수적인 도구입니다.
Git Server & Git Client
Git은 분산 버전 관리 시스템으로, 중앙 서버와 클라이언트로 구성된 환경에서 소스코드를 관리합니다. 이때 원격 컴퓨터를 remote server라 하고, 코드를 개발하는 개인/지역 컴퓨터를 local client라 합니다.
Git Client
- 예시: Git CLI(Command-line interface), Visual Studio Code에 내장된 Git
Git Server
- 예시: Github.com, Gitlab
Github 주요 용어 정리
Repository
Repository는 Github에서 우리의 프로그램을 담는 저장소로, 코드 저장, 커밋 히스토리, pull request 등 협업을 위한 다양한 작업을 수행할 수 있는 공간입니다.
Commit
Commit은 소스코드의 버전을 저장하는 작업을 의미합니다. 특강에서는 빈 repository에 파일을 업로드하고 여러 번 commit하며, commit history를 통해 변경 내역을 확인할 예정입니다.
Issues
Issues는 개발 중 발생하는 문제나 새로운 기능 개발 등을 관리하는 도구입니다. Issue 생성 후 labels와 assignee를 지정해 문제를 관리하고 해결할 수 있습니다.
Clone
Clone은 Github의 repository 내용을 로컬 환경으로 복제하여 개발하는 작업을 말합니다.
Git Config
로컬 환경에서 작업 후 commit 시, 해당 작업이 누구에 의해 이루어졌는지 기록하는 명령어입니다.
git config --global user.name "egoing"
git config --global user.email "egoing@gmail.com"
Push
Push는 로컬 환경에서 작업한 내용을 원격 저장소(Github)로 업로드하는 명령어입니다.
Pull
Pull은 원격 저장소의 내용을 로컬 환경에 반영하는 명령어로, fetch와 merge를 동시에 수행합니다.
Fetch & Merge
Fetch는 원격 저장소의 내용을 로컬로 가져오고, Merge는 이를 로컬 브랜치와 병합하는 작업을 의미합니다.
추가 학습 자료
- Git 최초 설정
- Git 명령어 사용법: Push, Pull, Fetch & Merge