[CS]Git & Github

sujin·2022년 8월 30일
0

TIL

목록 보기
11/14
post-thumbnail

개발자라면 git은 필수라고 한다! 과연 그것이 무엇인데 필수이고 중요한지 알아보도록 하자👊🏻

Git

Git의 공식 명칭은 분산 버전 관리 시스템(Version Control System) 이다.
쉽게 말해, 프로젝트 파일의 변경 사항을 추적하는 시스템인 것이다.

버전 관리 시스템이란?

  • 많은 사람들이 효율적으로 함께 작업하고, 프로젝트 중심으로 협업할 때 사용한다.
  • 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 돌아갈 수 있다.
  • 각 개발자가 자신만의 프로젝트 버전을 자신의 컴퓨터에 갖게 되며, 개별 버전의 프로젝트를 병합하여 기준이 되는 프로젝트에 적용 할 수 있게 된다.

코드 버전 관리를 하는 이유는?

  • 수정할 때마다 파일을 새로 만들면 관리가 힘들다.
  • 버전 관리를 통해 언제든 이전 버전 코드로 돌아갈 수 있다.
  • 이력을 남길 수 있다.
    • 어떤 시점에 누가, 무엇을 수정했는지 알 수 있다.
  • 하나의 프로젝트를 두고 여러 개발자들이 협업 할 수 있다.

GitHub

GitHub는 Git repository를 위한 호스팅 플랫폼이다.
GitHub (및 기타 유사한 플랫폼) 없이도 Git을 사용할 수 있지만 다른 개발자와 같은 프로젝트를 두고 협업하거나 코드를 공유하기는 어렵기 때문에 Git과 GitHub는 뗄 수 없는 사이라고 할 수 있다.

요약하자면, Github

  • 원격 저장소이다.
  • git을 사용한 프로젝트의 저장소이다.
    • github repository는 모든 프로젝트 파일들과 코드의 히스토리를 관리할 수 있게 하주고, public 혹은 private하게 협업할 수 있게 해준다.
  • 개발자들의 소셜 네트워크다.
    • github 유저들은 서로 follow하고, 협업하기도 하면서 다양한 방법으로 교류할 수 있다.

Git 과 GitHub의 차이

  • git은 버전 관리 시스템으로 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구이다.
  • github는 버전 관리를 한 프로젝트들을 관리해주는 프로그램이다.
    • git을 사용하는 프로젝트를 위한 호스팅 서비스이다.

Git 명령어

git init

  • git 저장소 생성 / 버전 관리를 위한 정보를 생성한다.
  • 버전 관리를 하고 싶은 디렉토리에서 해당 명령어를 입력한다.
    • ⚠️ 작업하고 싶은 폴더에서 해줘야함 (현재 위치 확인 유의하기! )

git status

  • git의 상태 확인

git add

  • 추적 이력을 준비
  • 장바구니 역할

git commit

  • 파일 수정 이력을 기록
  • 장바구니에 담긴 것을 결제하는 역할

git log

  • commit 이력을 확인

git remote

  • 내 로컬과 깃허브를 연결

git push

  • 작성한 코드를 원격 저장소에 업로드

git clone

  • 레포지토리에 있는 코드를 내 로컬로 복제해 올 때 사용
  • 전체 코드 를 가져올 때 사용
  • git clone [주소]

git branch

  • 독립된 공간 만들기
  • 독립적으로 개발 할 수 있는 공간을 만든다.
  • master 직접 코드를 푸시하지 않는다 / 작업X
  • git branch [브랜치 이름]

git checkout

  • 브랜치 이동
  • 현재있는 브랜치에서 다른 브랜치로 이동할 때 사용하는 명령어
  • git checkout [브랜치 이름]

git pull

  • 코드 가져오기
  • github에 있는 특정 브랜치 코드를 로컬로 가져올 때 사용하는 명령어
  • git pull origin [브랜치 이름]

git merge

  • 코드 합치기
  • 로컬에서 현재 브랜치의 코드와 특정 브랜치의 코드를 합칠 때
  • git merge [브랜치 이름]

마무리✨

처음 접하는 사람에게 git과 github의 개념자체가 낯설 수 있지만(내가 그랬다) 계속 쓰다보면 나도 모르는 사이 commit하고 push 하면서 열심히 잔디를 심고 있는 내 자신을 보게 될 거니깐 너무 겁먹지 말고 일단 사용법에 익숙해져보자

profile
개발댕발

0개의 댓글