[TIL] Git&GitHub

이나현·2021년 7월 14일
0

개발지식

목록 보기
3/14
post-thumbnail

1. Git이란 무엇인가요?

Git: Version Control System(VCS)

  • Git이란 버전을 관리하는 시스템이다.
  • version: 파일 하나에서 일어나는 변경사항을 timeline으로 기록(해당 시점에 어떤 상태였는지)
  • 코드버전 관리를 하는 이유?
    1) 수정할 때마다 파일을 새로 만들면 관리가 힘들기 때문에
    2) 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에
    3) 이력을 남기기 위해 (문제 생긴 부분을 작성한 사람을 찾기도 쉬움)
    4) 하나의 프로젝트를 두고 여러명의 개발자들이 협업할 수 있기 때문에(하나의 코드로 합침)

    2. GitHub이란 무엇인가요?

    1) Git을 사용한 프로젝트들의 인터넷 상 저장소
    2) 개발자들의 Social Network

    즉, git은 프로젝트의 버전관리를 도와주는 시스템이고 github은 호스팅 사이트

Gitcommit message 대충 작성하지 말기!

3. Git 실습

가장 중요하고 기본적인 명령어

1) git 시작: git init (=녹화, initialize)
(내가 만든 폴더 안에서 git init 치기 )
2) git 상태 확인: git status
(git으로 관리하는 현재 상태를 봄- 변경, 생성, 삭제 등(장바구니 추가 등 모든 내용 확인 가능))
3) 파일 수정 이력 기록 준비: git add > 커밋 가능
(임시저장 느낌 > 장바구니에 파일 담기)
(git add . : 현재 경로)
4) 파일 수정 이력 기록: git commit
(변경사항 중 장바구니에 담은 것들 구매 확정 > 특정한 이력으로 남김- 고유번호(commit hash)가 남음)
(git commit -m"메세지" : 메세지만 봐도 내용을 알 수 있도록 메세지를 남김)
5) commit 이력 보기: git log
(여태까지 사이트에서 구매했던 내역들 - 사이트에서 이력으로 남긴 것들)
6) 레파지토리랑 연결: git remote
7) 레파지토리에 commit을 넣음: git push origin master(main)

=> 폴더를 삭제하면 모든 기록들이 삭제됨

4. git | westagram Guide

  1. 작업이 시작되어 있지 않은 상태에서 feature/login을 땄음

1.git push origin feature/login 임시공간에 코드 업로드 하기
(왜 master에 바로 안 올리는 이유: 검토가 필요함)

  1. PR(Pull Request) : 보고서(ex. 이 코드들은 로그인에 관한 내용들이고 등의 코드에 대한 설명을 작성함)
    => PR templete 작성

    이에 대한 코멘트(리뷰)가 있으면 feature/login에서 수정 진행
    그 후 git push origin feature/login 하여 다시 업로드

(commit: 의미있는 단위라고 생각했을 때 commit 진행)

  1. 리뷰가 모두 통과되었을 때 브랜치를 합침 (merge)

  2. github에서는 merge가 되어있는데 아직 master 브랜치에는 존재하지 않음

    git pull origin master : 마스터에 있는 내용을 끌고 옴
    master 브랜치에서 합쳐줌

  3. 다음 작업을 하고 싶으면 master > feature/main으로 가져감

  4. git merge master을 하면 master에 있는 내용이 feature/main으로 들어감 (내꺼에 다시 반영)

반드시 지켜야하는 원칙
1. master 브랜치는 신성하다: 코드를 master에서 치지 말자! update만하자
(작업은 모두 feature에서 하자)
2. 모든 데이터의 흐름은 한방향으로만 흐른다.

*vscode에서 폴더열기

(github 업로드 방법)
git branch > git branch feature/nahyunlee > git checkout feature/nahyunlee > git branch(branch가 바뀌었는지 확인) > git status(현재 상태 확인) > git add > git status(현재 상황 확인) > git commit (i누르고 내용 작성 후 esc> :wq) > git log(commit 내용 확인) > git push origin feature/nahyunlee(feature폴더에 업로드) >pull request(PR)

merge 후
git checkout master(마스터로 들어감) > git pull origin master (마스터와 싱크를 올려줌)

profile
technology blog

0개의 댓글