SW공학/Git, Github

Git/GitHub 개념 정리

grove1212 2025. 1. 22. 00:02

1. Git이란?

1-1. 버전관리란?

개발 중간지점을 저장하여 오류가 나거나 다른 사람과 협업할 때 용이하도록 하는것. 팀 프로젝트 할 때 각자 작업을 하여 합치는 것이 필요하기 때문에 그럴 때 필요하다.

1-2.Git이란?

원하는 시점마다 깃발을 꽂고 깃발이 꽂힌 시점으로 자유롭게 이동 가능한 소스코드 버전 관리 시스템.

1-3. Git의 기능

협업

버전관리

브랜치를 생성

2. GitHub란?

2-1.GitHub 란?

git 호스팅사이트 중에 하나. 시간과 공간의 제약 없이 협업이 가능하다

  • gitHub : 오픈소스에 참견할 수 있음!!

2-2. GitHub의 기능

  • 저장소 호스팅
  • Pull Request 및 Issue Tracking
  • 문서화 및 위

3. 깃 설치

4. 로컬 저장소 실습

4-1. 로컬 저장소 만들기

전역 설정 값 입력

$ git config --global user.email
$ git config --global user.name

$ git config --get user.email
$ git config --get user.name

$ git config --global init.defaultBranch main
$ git config --get init.defaultBranch

$ git init
  • config : 설정
  • —get : 얻다.

4-2. 로컬 저장소에 commit 만들기

# 소스코드를 스테이징에어리어에 올리는 과정
$ git add . or -A or -u or 파일명
# 스테이징 에어리어에서 로컬로 올리는 과정
$ git commit -m

# 작업 트리 상태 출력
$ git status

# 변경 사항 확
$ git diff

4-3. 로컬 저장소의 다른 커밋으로 이동하기

  • checkout switch 차이
    • checkout 기능 : 브랜치 전환, 파일 변경 사항 복원
    • switch 기능 : 브랜치 전환
    • restore : 파일 변경 사항 복원

5. 원격 저장소 실습

5-1. 원격 저장소 만들기

5-2. 원격 저장소에 로컬 저장소 커밋 내보내기

  • pull → fetch + merge : 차이점?
git log 		 //그냥 status를 하면 로컬에서 내가 쓴 commit과 병합한 사항들의 이력만 조회가 됩니다.
git fetch origin 	 //현재 로컬 상태보다 최신의 사항들을 모두 가져옵니다.
git log 		 //다시 살펴보면 최근에 팀원이 commit 또는 push를 한 이력들이 추가로 모두 조회 됩니다.

6. 용어 정리

  • Project Source Code
    • Staging area
    • 커밋 할 것들을 담아놓는 임시 공간
  • 로컬 소스 코드
  • Local Repo
  • 내 컴퓨터에 있는 지역 저장소
  • Remote Repo
  • 온라인으로 접속된 원격 저장소 혹은 공유저장소, git hub나 git lab이 이에 해당됨
  • Git Bash
  • CLI방식으로 git을 사용할 수 있는 환경
  • add
  • 프로젝트 파일로부터 변경된 것을 staging area로 올리는 작업
  • commit
  • staging area의 변경사항을 깃발을 꼽아 local repo로 저장하는 작업
  • push
  • local repo의 변경사항을 remote repo로 올리는 작업
  • fetch
  • remote repo의 코드를 local repo로 내려받음
  • merge
  • local repo로 내려받은 코드를 확인해서 source code와 합치는 작업
  • pull
  • fetch와 merge를 하나로 합친 작업