바닐라코딩

마지막 강의 Github

단점이없어지고싶은개발자 2021. 9. 19. 22:11
반응형

마지막강의 GIT

 

Shnapshots

-깃이 히스토리를 기억하는 방식

-특정 시점의 파일 상태를 사진 찍어 놓는 개념과 유사

-과거 시점의 사진을 다시 볼 수도 있고, 현재 시점의 상태로 다시 돌아올 수 있다

 

Commit

  • Snapshot을 생성하는 행위(즉, 기록을 남기는 행위)
  • 깃 히스토리는 기본적으로 수 많은 Commit들의 집합

 

하나의 Commit은 다음 세 가지 정보를 갖고 있다

  • 이전 Commit
  • 이전 Commit과 비교한 수정 내역
  • Commit Hash(굉장히 복잡한 알고리즘으로 생성한 고유 아이디 값)

 

Repository

  • 줄임말로 Repo, 한국어로 저장소라 부른다
  • 모든 프로젝트 파일들과 그 파일들의 히스토리가 모여 있는 곳
  • 개인 컴퓨터 혹은 Github과 같은 클라우드 서버에 저장할 수 있다

 

Head

  • 현재 위치한 Commit
  • 상황에 따라 달라질 수 있으나 크게 신경쓰지 않아도 괜찮다

 

Branch

  • 모든 Commit들은 Branch 내에 존재한다
  • 하나의 커밋은 여러 Branch에 속할 수 있따
  • 일반적으로 프로젝트의 기본 브랫치는 master이다

 

Commands

 

git Clone 

  • 클라우드에 저장된 Git 프로젝트를 다운받는 명령어

 

git add

  • 변경 사항 중, 다음 커밋에 추가할 사항들을 선별하는 명령어
  • ex) git add . ( . 은 현재 디렉토리에 있는 것을 추가한다고 생각하면 된다) // 또는 git add filename (파일 하나만 올리고 싶다면 해당하는 파일이름을 입력)

 

git Commit

  • 커밋을 생성하는 명령어
  • -m 은 커밋 메시지를 함께 추가하는 옵션
  • ex) git commit -m “커밋메시지”

 

git branch

  • 브랜치 목록. 생성, 삭제 명령어
  • git branch # 브랜치목록 / git branch 요한 # 브랜치 생성 / git branch -d 요한 # 브랜치 삭제

 

git checkout

  • git checkout yohan #브랜치이동 / git checkout -b 요한 # 브랜치 생성 & 이동

 

git merge

  • 현재 브랜치에 다른 브랜치의 수정 내역을 병합하는 명령어
  • git merge yohan #현재위치한 브랜치로 yohan을 가지고 온다.

 

git fetch 

  • Github 과 같은 클라우드에 저장된 Git프로젝트의 현재 상태를 다운받는 행
  • 보려고 하지않는 한 보이지 않는다 

 

git pull

  • Github과 같은 클라우드에 저장된 Git 프로젝트의 현재 상태를 다운받고 현재위치한 브랜치로 병합하는 명령어
  • git fetch + git emrge

 

git push

  • Github과 같은 클라우드의 내가 작업한 것을 올린다

 

git remote

  • 클라우드 주소를 등록하는 명령
  • 등록하는 주소마다 고유 닉네임을 부여해야 한다
  • ex) git remote add yohan # yohan 등록 / git remote remove yohan #yohan 삭제 

 

git log

  • 현재 위치한 브랜치의 커밋 내역을 확인하는 명령어
  • 깃에 대해 무언가 나오는 말들을 보면 바로 답이 보인다

깃은 개발자가 가장 기본적으로 다룰 줄 알아야된다. 다른 개발자들과의 협업을 위해서, 그리고 자신의 개발 포토폴리오를 다루기 위해서는 꼭 다뤄야 된다. 위 명령어들은 가장 기본적인것들이고, 직접 깃헙홈페이지에 만들고, 명령어를 써보고, 다시 또 써봐야 된다. 

반응형

'바닐라코딩' 카테고리의 다른 글

Promise란?  (0) 2021.11.06
즉시실행함수(IIFE)  (0) 2021.11.06
바닐라코딩 프렙 끝.  (0) 2021.09.19
8주차 과제 - 콜백함수란 무엇인가  (0) 2021.09.12
7주차 과제  (0) 2021.09.05