Git

[Git] Git? Github? 간단 정리 및 사용하기(1)

HJ922 2024. 5. 22. 16:17

Git이란?

Git은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다. 또는 이러한 명령어를 가리킨다.

  • 한마디로 형상관리 프로그램이다.

GitHub란?

Github는 루비 온 레일스로 작성된 분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다.

  • 한마디로 Git으로 형상관리하는 "작업물"을 저장하는 저장소이다.

보통은 Git만 사용하지않으며, Github 혹은 GitLab과 같은 저장소를 같이 사용한다.

왜 사용해요?

  1. 편리하다. 아주아주 편리하다
  2. 기록이 남기때문에, 누가했는지 바로알 수 있으며 실수했을때 복구하기쉽고 개발 속도가 빠르다.
  3. 남들과 하나의 저장소를 "공유"하여 프로젝트를 개발할 수 있다

그리고 "무료"

Git은 아래의 페이지에서 설치할 수 있다.

GitHub는 "온라인"저장소이기때문에 Naver Blog, Tistory, Velog처럼 회원가입 후 사용할 수 있다.

위의 링크를 접속해보면

이쁘게

꾸며져있는 페이지와 그동안의 행적과 작업물을 확인할 수 있다.

용어정리

  • Git : 형상관리 프로그램
  • Github : Git을 활용한 온라인 저장소(마치블로그)
  • GitLab : Git을 활용한 온라인 저장소(Github와 약간다름)
  • Repository(레포지토리,레포) : 온라인 저장소를 지칭
  • Branch(브랜치) : 하나의 레포지토리안에 존재하는 작업 공간
  • Fork : 다른사람의 레포지토리를 복제해옴(원본과 연결o)
  • Clone : 다른사람의 레포지토리를 복제해옴(원본과 연결X)
  • Star : 게시물의 좋아요?즐겨찾기?같은 느낌.
  • 기타 등등...

명령어정리

git init # Git을 사용하겠다 ! 라고 선언함과 동시에 기록을 저장할 .git파일이 생긴다.
git fetch # Github나, GitLab과 연결되어있는데 싱크가 안맞을수도 있지않은가? 
# (Project Ver1.0을 A가 수정해서 Ver1.1으로 Github에 올림 
# B도 Project Ver1.0을 수정해서 Ver1.1로 Github에 올리려는데, 싱크가 안맞네? 
# 이때 원격저장소와 로컬저장소의 싱크를 맞추는 명령어)
START
git merge 
# 자 근데 A의 1.1과 B의 1.1은 내용이 다를거에요 중복되는 기능은 빼고,
# 없는 건 합쳐야겠죠? 저장소의 내용을 합치는 명령어
git pull # Git fetch + Git merge를 하나의 명령어로 합친 명령어
git push # 로컬 저장소에서 작업한 내용을 Github와 같은 원격저장소에 저장하는 명령어
git clone # Github와 같은 원격저장소의 내용을 로컬저장소로 복제해오는 명령어
git checkout # 하나의 Repository에서 Branch를 바꾸는 명령어 
git status # 현재 Git(형상관리)상태확인

필요할때마다 검색해도 된다

(다나와있음)