수강 목표
- git과 github에 대해 이해하고, 버전관리 환경을 구축한다.
- 코딩 협업 프로젝트를 위한 git 기초 명령어와 개념을 배운다.
- PR workflow를 이해하고, PR 실습을 해 본다.
Git & Github란?
- git, github란?
- git이란 형상관리도구 중 하나로 소프트웨어 개발 소스코드를 효과적으로 관리할 수 있게 해주는 무료 공개 소프트웨어
- 소스코드 변경 이력 저장, 충돌 시 경고 메시지 발생, 매번 백업용 파일 복사본을 만들지 않아도 된다는 장점을 가짐
- github이란 git을 기반으로 한 소스코드 호스팅 & 협업 기능 GUI 지원 웹플랫폼
- Git repository는 Remote(원격, 공유 저장소)와 Local(개인 저장소)로 나뉘며 push와 pull 사용
- git 설치 및 사용자 등록
- git 설치 후 로컬 저장소 폴더를 생성해 실습을 진행
- Git 버전 확인
git --version - Git 사용자 등록
git config --global user.name "이름"
git config --global user.email "메일주소" - Git 사용자 등록 확인
git config --list
- git 설치 후 로컬 저장소 폴더를 생성해 실습을 진행
Git 명령어 기초
- git init, 파일 상태, 파일 위치
- Git 초기화 : git이 파일 저장 내역 추적
git init - 현재 상태 작업 확인
git status - master 브랜치는 git 초기화 시 생기는 기본적 브랜치이며, 각각의 브랜치를 가지고 독립적으로 여러 작업을 한 후 병합
- Commit이란 변경 사항 기록을 뜻하며 시간순으로 저장되며 파일이 Tracked일 경우 파일이 추적됨
- 파일 위치는 Working Directory(작업 영역), Repository(저장소), Index(Staging Area), Stash(임시 영역)으로 나뉨
Local
(내 컴퓨터)Remote
(원격)Working
Directorygit add →
← git resetStaging
Areagit commit → Repository git push →
← git pullRepository
- Git 초기화 : git이 파일 저장 내역 추적
- commit, log, reset, diff
- Git index(staging area) 추가
git add 파일명 - Working directory 내 모든 파일 add
git add . - Git index(staging area) 삭제
git rm -cached 파일명 - 변경 사항 확정
git commit 후, 양식에 따라 커밋 메시지 작성
- 커밋 히스토리 확인
git log - 가장 최근의 커밋 삭제
git reset HEAD^ - Working Directory, Repository 비교
git diff
- Git index(staging area) 추가
Git & Github 연동
- github 가입, remote respository 생성
- Remote repository 연결
git remote add orgin "복사한 주소" - Remote repository 목록 확인
git remote -v
- Remote repository 연결
- push, pull, 충돌관리
- local에서 remote로 git push
git push "원격 저장소 이름" "브랜치명" - 레포지토리의 내용을 간략하게 서술하는 README.md
- git push 시 충돌관리
로컬 저장소와 원격 저장소의 최신 업데이트 내용이 다를 때 git push 시 충돌
- Remote의 커밋 내역을 로컬로 가져옴
git fetch - 받아온 커밋 내역에 대해 다른 브랜치를 현재 checkout된 브랜치에 병합
git merge - git fetch와 git merge를 합친 git pull remote branch
- local에서 remote로 git push
Github로 협업하기
- fork, clone, pull request workflow
- 다른 User의 원격 저장소를 내 원격 저장소에 복제
fork - 원격 저장소를 로컬 저장소에 복제
clone - 바로 merge해서 발생하는 파일의 손상을 막기 위해 저장소 간의 병합을 요청하는 메시지를 커밋 메시지와 함께 전송
pull request - pull request의 과정
- 다른 User의 원격 저장소를 내 원격 저장소에 복제
- pull request 실습
'Community > SOLUX' 카테고리의 다른 글
[220513] 2022 1학기 프로젝트 - 4차 회의 (0) | 2022.05.23 |
---|---|
[220506-220513] 2차 세미나 - 타이타닉 생존자 분석하기 (0) | 2022.05.09 |
[220506] 2022 1학기 프로젝트 - 3차 회의 (0) | 2022.05.06 |
[220408] 2022 1학기 프로젝트 - 2차 회의 (0) | 2022.04.11 |
[220401] 2022 1학기 프로젝트 - 1차 회의 (0) | 2022.04.01 |