Git
[Git] Git? Github? 간단 정리 및 사용하기(1)
HJ922
2024. 5. 22. 16:17
Git이란?
Git은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다. 또는 이러한 명령어를 가리킨다.
- 한마디로 형상관리 프로그램이다.
GitHub란?
Github는 루비 온 레일스로 작성된 분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다.
- 한마디로 Git으로 형상관리하는 "작업물"을 저장하는 저장소이다.
보통은 Git만 사용하지않으며, Github 혹은 GitLab과 같은 저장소를 같이 사용한다.
왜 사용해요?
- 편리하다. 아주아주 편리하다
- 기록이 남기때문에, 누가했는지 바로알 수 있으며 실수했을때 복구하기쉽고 개발 속도가 빠르다.
- 남들과 하나의 저장소를 "공유"하여 프로젝트를 개발할 수 있다
그리고 "무료"
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(형상관리)상태확인
필요할때마다 검색해도 된다
(다나와있음)