Git이란?

Ariul·2022년 7월 6일
0

버전 관리 시스템(Version Control System)

스테이지에 올린다 (Add)

  • 커밋하기 전에 저장을 원하는 파일들을 묶는 작업

커밋 (Commit)

  • 스냅샷 = 특정 시점에 생성된 백업 복사본
  • 커밋 = 하나하나 스냅샷을 만들어 주는 작업
  • 스테이지에 있는 파일들이 저장됨
    ⇒ 변경 사항에 대한 스냅샷이 만들어지고, 이전 기록들에 대한 추적이 가능함
    ⇒ 버전 관리 & 협업에 유용

GitHub에 업로드 (Push)

  • 커밋을 하면 현재 작업 내용의 세이브 데이터가 내 컴퓨터에 저장됨
  • GitHub에 업로드하여 다른 사람과 공유할 수 있고, 백업할 수 있다.

Git vs. GitHub

  • Git = 로컬에서 소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템
  • GitHub = Git Repository(Git으로 관리되는 폴더)를 관리할 수 있는 클라우드 기반 서비스
    GitHub를 통해 Git으로 버전을 관리하는 폴더에 여러 사람들이 공유하고 접근할 수 있음

Git Repository

  • Remote Repository
    - 원격 온라인 서버 상의 저장소.
    • 여러 사람이 함께 공유할 수 있다.
  • Local Repository
    - 내 컴퓨터의 저장소.
    • 내 개인 전용 저장소이다.

오픈 소스에 Contribute 하는 방법

1) Fork: (Other)Remote Repository에 올라와 있는 코드를 (My)Remote Repository로 가지고 오는 작업
2) Clone: Remote Repository에 있는 코드를 내 컴퓨터로 가지고 오는 작업
- git clone <레퍼지토리 주소>로 명령을 실행할 수 있다.
3) Push: 내 컴퓨터에서 소스코드 변경 작업 완료 후, 변경 내용을 저장(Commit)하고, Remote Repository에 업로드하는 작업
4) Pull: Remote Repository에서 변경 사항이 있을 때 Local Repository로 가져오는 작업

Git 명령어

  • git init: 기존 디렉토리를 Git Repository로 변환하거나 새로운 Repository를 초기화하는데 사용함
  • git remote add origin <Repository 주소>: 나의 Remote Repository에 연결
  • git remote add pair <Repository 주소>: Pair의 Remote Repository에 연결
  • git remote -v: 현재의 Local Repository와 연결된 모든 Remote Repository 목록 확인
  • git pull <shortname> <branch>: Remote Repository에 있는 작업 내용을 Local Repository로 가져옴
  • git status: 내 로컬로 복사해 온 디렉토리의 Commit 되기 전까지의 상태를 표시
  • git restore <파일명>: Commit되지 않은 Local Repository의 변경사항을 취소할 수 있음
  • git add <파일명>: 내 Local의 untracked file을 Git의 관리 하인 staging area로 추가할 수 있음
  • git add .: unstaged 상태인 모든 파일을 staging area에 한번에 추가할 수 있음
  • git commit -m '커밋 메세지 로 커밋할 내용의 코멘트를 작성할 수 있음
  • git reset: Local에서 commit한 내용을 취소할 때
  • git reset HEAD^: 아직 Remote Repository에 올라가지 않은 commit을 취소할 수 있다.
  • git push: Local에서 변경, commit된 사항을 Remote Repository에 업로드
    - git push 뒤에 따라오는 명령어 <origin> <branch>는 상황에 따라 다르다.
  • git log: 현재까지 commit된 내역들을 터미널 창에서 확인할 수 있다. 이 터미널 창을 종료할 때는 q를 입력한다.
  • Pull Request(PR): 내가 Remote Repository에 Push 해놓은 변경 사항에 대해서 함께 작업하는 다른 사람들에게 알리는 것.
profile
정성과 진심을 담아 흔적을 기록하자💡

0개의 댓글