Git과 Github (1)

byeol·2023년 3월 24일
0
post-thumbnail

평상시에 Git과 Github에 대해서 배워야지 하다가
드디어 오늘 제대로 정리해보려고 한다.

먼저 내가 공부한 책은 아래와 같다.
노션으로도 제공하고 있고 알라딘에서 ebook으로 무료 다운로드가 가능하다. 무엇보다 유튜브로 강의도 제공하고 있다.

알아서 잘 딱 깔끔하고 센스있게 정리하는 GitHub 핵심 개념

<모든 그림의 출처는 위 책에서 가져왔습니다.>


키워드

비행기로 비유된 4개의 중요한 키워드
이것만 알아도 전체적인 흐름을 잡는데 매우 도움이 되었다.

제주도 = 로컬저장소 = 내 컴퓨터
인천공항 = 원격저장소 = github

  • git pull : github에 있는 데이터를 로컬 저장소에 가져오기
  • git add . : 로컬 저장소에 있는 파일들을 git add .라는 문법을 통해서 github에 갈 수 있도록 대기줄에 포함시킨다.
  • git commit : github로 가기 위한 출발 준비!
  • git push : github로 출발!

Git과 Github

Git과 Github는 다르다.
처음에 같은건줄 알았는데
Git은 분산 버전 관리 툴로

개인 컴퓨터에 설치되어져서 로컬 저장소와 원격 저장소 사이에서 버전을 관리해준다.

이 Git을 관리해주는 웹 호스팅 서비스
= Git을 클라우드 환경에서 사용할 수 있게 제공하는 공간
= Github
우리가 들어가서 보는 그 사이트이다.

Git 설치

  • 리눅스
sudo apt-get update
sudo apt-get install git
  • 윈도우
    윈도우 https://git-scm.com/ 에 접속해서 다운받기

  • 처음에 사용자 정보를 설정해야 한다.

git config --global user.name "byeolhaha"
git config --global user.email byeolhaha@example.com

쌍따옴표도 같이 들어간다.
user.name "본인githubId"
user.email 본인github이메일

git clone

git clon repoURL .

초기 원격 저장소의 코드를 컴퓨터에 가져오고 내 로컬 저장소에서 버전관리를 하기 위한 작업

끝에 .을 찍는 이유는 현재 폴더에 새로운 폴더를 생성하지 않고 바로 원격저장소에 있는 데이터를 가져오기 위한

git pull

원격 저장소에 업데이트 된 데이터를 가져오는 경우
즉 현재 내 로컬저장소와 원격저장소의 데이터를 병합하는 과정이다.

git pull origin main

git init vs. git clone

git init은 내 폴더가 버전관리가 될 수 있도록 하는 명령어인데
git init을 하면 내 로컬 저장소에 .git이라는 파일 폴더가 생긴다.
이 폴더에 버전관리를 해주는 것이다.

근데 git init과 git clone을 헷갈려할 수도 있고
git pull과 git clone을 헷갈려할 수도 있다.

차이점을 정리해본다.

git clone은 원격 저장소에 있는 파일들을 내 로컬 저장소에 모두 가져올 때 처음 초기화 과정에 필요할 때 사용하는 명령어이다.

git clone
= git init + git remote add repoUrl + git pull
과 같은 의미이다.

다시 정리하면 git clone은 .git폴더를 만드는 동시에 원격저장소와 로컬저장소가 연결되어 원격저장소에 있는 파일을 가져오는 것이다.

따라서 git clone을 한 뒤에는 초기화 작업이 필요없어서 git pull 통해서만 원격 저장소에 있는 파일을 가져오면 된다.

마찬가지로 git init+git remote add reoUrl을 한 뒤에도 git pull을 통해서만 데이터를 가지고 오면 된다.

반대로 원격저장소와 연결되지 않은 내 로컬저장소의 파일을 올리고 싶을 때는 git init+ git add . + git commot -m "message"+ git remote add reoUrl + git push -u origin main

git push vs. git push -u origin main

원래 git push 원격저장소별칭 브랜치명
으로 표현되어야 하는데

git push -u origin main

을 최초 한번만 써주면 -u옵션으로 인해 그 이후로 main이라는 브랜치가 원격저장소 origin을 추적한다.

따라서

git push

와 같이 원격저장소별칭과 브랜치명이 생략 가능

git push하기 전에 git pull하기

내가 작업을 하던 도중 다른 팀원을 작업을 해서 이미 원격저장소와 merge한 경우가 있을 수 있기 때문에 git push하기 전에 git pull하는 것이 좋다.

만약에 그러지 않는 경우 충돌이 발생하는데 그걸 무시하고 강제로 push하는 경우 모든 파일이 날아갈 수도 있으니 주의!

profile
꾸준하게 Ready, Set, Go!

0개의 댓글