[TIL]Git과 Github 들어가기..

소진수·2021년 7월 17일
2

wecode

목록 보기
5/11
post-thumbnail

🤷🏻‍♂️ "깃과 깃허브는 무엇인가"


Git이란?

  • 깃의 공식 명칭은 분산 버전 관리 시스템(VCS)이다. Git은 소스코드 버전 사이를 마음대로 오가는 기능이 있다. 그로인해 프로젝트의 변경사항을 기록, 특정 시점의 버전으로 회귀하는 기능을 통해 많은 사람들이 동시에 개발하는 코드를 효율적으로 관리할 수 있다.
  • 각 개발자 마다 자신만의 프로젝트 버전을 본인 컴퓨터로 복제하여 개발한 후, 개별 버전의 프로젝트를 병합하여 원하는 파일을 만들 수 있다.

Github란?

  • Git으로 관리하는 프로젝트를 호스팅하는 사이트 중 하나이다.
  • Github에 소스코드를 올려두면 시간, 공간의 제약 없이 협업이 가능하다.
  • 프로젝트를 공개저장소로 만들면 전 세계 개발자와 협업이 가능하다.(이렇게 만들어진 프로젝트: 오픈소스)

🤷🏻‍♂️ "깃 설치와 커밋 만들기"


  • Git사이트에 들어가 파일 다운로드 후, Terminal에서 git 실행

로컬저장소 만들기

  • 원하는 경로에 깃과 연결할 로컬저장소(폴더)를 만든다
  • 해당 폴더 안에 프로젝트에 대한 설명이 담기는 텍스트파일(ReadMe.md)를 만든다.

터미널로 본인 폴더 경로 지정하기

  • cd 본인 폴더 경로 입력
  • 자세한 명령어에 대한 내용은 다음 블로깅에서 다룰 예정

Git 초기화하기

  • git init 명령어을 terminal에 입력하면 위 지정경로에 .git 폴더가 자동 생성된다
  • 해당 폴더에는 생성한 버전들의 정보, 주소등이 들어있다. 이를 로컬저장소라고 부른다
  • 일반 프로젝트 폴더에 "git init" 명령어를 통해 로컬 지정소를 만들면 이 폴더에서 버전 관리를 할 수 있게 된다.

커밋이란?

  • Git에서 생성된 각 버전을 의미한다.

커밋의 과정

로컬저장소에 위치한 후, 아래의 명령어를 실행한다

  • git config --global user.email "------@gmail.com"
  • git config --global user.name "username"
    • GitHub의 계정정보와 유저네임을 기록한다

커밋에 추가할 파일을 선택/ 상세설명 적기

  • git add ReadMe.md: ReadMe.md 파일을 선택
  • git commit -m "변경사항 설명 추가": 커밋을 통해 추가,수정된 요소를 간략하게 설명
    - -m은 메세지의 약자

🤷🏻‍♂️ "다른 커밋(버전)으로 이동하기"


지금까지 만든 커밋 확인하기

  • git log: 지금가지 만든 깃의 로그를 확인하는 명령어
  • 위 명령어를 실행하면 commit 34121~, commit 264b3~ 와 같은 형식의 커밋을 확인할 수 있다.
  • git chekcout 앞7자리: 해당 명령어 + 커밋 아이디의 앞 7자리~ 처럼 입력 시, 해당 커밋으로 코드를 되돌린다.
  • 돌아온 뒤, 파일을 열어보면 당시 작성한 파일 값이 남아있는 것을 확인할 수 있습니다.

최신 커밋으로 돌아가기

  • git checkout -: 최신 커밋으로 돌아가는 명령어

🤷🏻‍♂️ "깃허브에 커밋 올리기"


원격저장소 만들기

  • 깃허브 웹사이트에서 로그인 후, + 아이콘 클릭 -> New repository
  • 해당 저장소 우측상단에서 ↓ code 버튼을 클릭하여 주소를 복사할 수 있다.

커밋 올리기

  • git remote add origin 원격저장소 주소: 로컬저장소에 원격저장소 주소를 알려준다.
  • git push origin master: 로컬 저장소에 있는 커밋들을 push 명령어로 원격저장소에 업로드한다
    • 처음 위 과정을 하게 되면 Github 로그인을 terminal에서 진행해야 한다.

🤷🏻‍♂️ "깃허브 커밋 다운받기"


커밋 다운받기

  • 클론 : 원격저장소의 코드와 버전 전체를 내려받는 것
  • cd 명령어를 통해 커밋을 저장할 로컬저장소를 지정합니다.
  • git clone 원격저장소 주소 .: 로컬저장소에 원격저장소의 모든 코드, 버전을 복제한다.
    • 만약 명령어 마지막에 . dot을 적용하지 않으면 로컬저장소에 새로운 폴더가 생겨 저장된다.

깃허브의 새로운 커밋을 컴퓨터에 저장하기

  • git pull origin master: 원격저장소에 새로운 커밋이 있다면 해당 커밋을 로컬저장소로 받는 명령어

🤷🏻‍♂️ 결론


본인도 과거 협업을 하면서 가장 귀찮다고 느낀 것이 통합하는 과정에서 발생하는 시간과 자원이었다.
개발에 대해 알아가면서 가장 효율적인 방법을 찾아가는 개발자들의 사고방식이 너무 좋다.
깃은 누군가에게 프론트엔드 개발에 있어서 핵심이 되는 도구일수도 아닐수도 있다.
하지만 나에게 깃과 깃허브는 굉장히 편리하다. 맘에 든다.

profile
느려서 바쁘다

1개의 댓글

comment-user-thumbnail
2021년 7월 17일

와 진수님 정리 최고 🙌🏻

답글 달기