[AIVLE AI 6기] 무엇을 배우나요? 1주차-Git

·2024년 9월 30일
0

AIVLE

목록 보기
2/9
post-thumbnail

What is Git?

  • 가장 처음 배우는 만큼 개발자에게 Git은 중요하다.
  • Git은 분산 버전관리 시스템
  • 프로젝트를 관리하고 협업 시 매우 유용함!!

용어정리

기본 개념

Repository(저장소)

  • 코드와 관련된 모든 파일과 변경 내역을 저장하는 공간
  • 프로젝트의 모든 데이터와 기록이 저장됨

Commit

  • 변경 사항을 저장하는 단위
  • 커밋을 통해 파일의 상태를 저장
  • 각 커밋은 고유한 해시 값을 가진다.

Branch

  • 독립적으로 작업할 수 있는 가지
  • 메인 브랜치와는 별개로 개발하거나 새로운 기능을 추가할 때 사용
  • 최종적으로 병합
  • 현재 작업 중인 브랜치의 최신 커밋을 가리키는 포인터
  • 작업하는 위치를 의미

브랜치 관리 및 협업

Remote(원격 저장소)

  • 온라인이나 네트워크 상에 있는 저장소
  • GitHub등등

Merge

  • 두 개의 브랜치를 하나로 합치는 작업
  • 주로 기능 개발이 완료된 브랜치를 메인 브랜치에 병합

Clone

  • 원격 저장소의 모든 데이터를 로컬로 복사하는 작업

Pull

  • 원격 저장소의 변경 사항을 로컬 저장소로 가져오는 작업
  • fetch + merge

Push

  • 로컬에서 작업한 내용을 원격 저장소에 업로드하는 작업

Conflict(충돌)

  • 두 브랜치나 커밋을 병합할 때 동일한 파일의 동일한 부분이 다르게 수정된 경우 발생하는 문제
  • 수동으로 해결해야함!

Checkout

  • 다른 브랜치로 전환하거나 특정 커밋으로 이동하는 작업
  • 특정 브랜치나 커밋으로 작업 디렉토리를 변경

파일 및 변경사항 관리

Stash(임시 저장)

  • 현재 작업 중인 변경 사항을 임시로 저장하고, 작업 디렉토리를 깨끗한 상태로 만드는 기능

Fetch

  • 원격 저장소에서 변경된 사항을 가져오지만, 자동으로 병합하지는 않음

깃 사용 순서

로컬 및 개인 사용시

  1. 깃 저장소 생성 / 레포 생성
  2. 브랜치 생성
  3. 파일 생성
  4. 커밋
  5. 메인 브랜치에 병합

원격저장소 사용시

  1. GitHub등에서 원격저장소 생성
  2. 로컬에서 원격저장소 등록
  3. pull(fetch+merge)
  4. 파일 생성
  5. 커밋
  6. push

반드시 작업전에 pull을 해야한다!

(추가학습)Git 명령어

기본 설정

저장소 생성 및 파일 추가, 커밋

git init
# 특정 파일 추가
git add user.js
# 현재 폴더를 대상으로 추가
git add .
# add 취소
git reset user.js
# 커밋
git commit -m "Initial commit"

브랜치

# 현재 branch 확인
git branch
# branch 생성
git branch like_feature
# branch 전환
git checkout like_feature

merge

# 원하는 branch로 이동
git checkout master
git merge like_feature

# merge한 branch 확인 후 삭제
git branch --merged
git branch -d like_feature

사용자 정보 설정

lobal user.name "xoo0608"
git config --global user.email xoo0608@gmail.com

# 프로젝트마다 다르도록
git config user.name "ChaneHaDa"
git config user.email chane.ha.da@gmail.com

원격저장소 사용

기본

# 원격 저장소 보기
git remote -v
# 원격 저장소 연결
git remote add origin https://gitlab.com/group/project
# 원격 저장소 확인
git remote

가져오기

# 원격 저장소 복제
git clone https://gitlab.com/alwys/myproject.git
# Pull: 원격 저장소에서 데이터 가져오기 + 병합(Merge)
git pull origin <branch name>
git checkout -t origin/dev # 원격 브런치 가져오기
git checkout -f -t origin/dev
git checkout -b -t origin/dev # 이름바꾸어서 가져오기
# Fetch: 원격 저장소에서 데이터 가져오기 / 작업 후 병합
git fetch

push

# 저장소 발행 / Merge부터 해야함
git push origin master

profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보