[데이터 엔지니어링] Git & Github

Colacan·2022년 5월 13일
1

[데이터 엔지니어링]

목록 보기
12/12

Github

원격 코드저장소

  1. 깃을 사용해 인터넷 상에서 소프트웨어 개발과 버전관리 해줌

  2. 협력용으로 주로 이용한다.

  3. 하나의 프로젝트를 보관할 때 보통 하나의 레포지터리를 할당

Git

분산 버전 관리 시스템

  1. 깃은 로컬에서 작업한다.

  2. 변경 이력들과 기록들을 쉽게 추적하고 파악하게 해준다.

  3. 기록을 남기거나 이전 기록으로 돌아갈 수 있다.

Github 레포지터리

레포설정은 레포 소개, 레포 공개 설정, 레포 초기 파일로 나뉜다.

  1. 레포 이름
    1) 레포에 대한 파악이 가능하도록 설정
    2) 규칙은 정해지지 않았지만 주로 소문자와 -의 조합으로 사용된다.

  2. 레포 소개
    1) 간략한 소개를 적는 부분
    2) 레포 사용법에 관해서는 README파일을 이용하기에 길게 적지 않는다.

  3. 레포 공개 설정
    1) 레포 생성시 공개여부를 선택
    2) Public은 깃헙에서 누구든지 찾을 수 있도록 공개
    3) Private은 개인 레포로 설정

  4. 레포 초기 파일
    레포를 처음 생성할 때 같이 생성할 수 있는 파일들에 대한 옵션

  • README.md : 해당 레포 사용 및 설치에 대한 소개, 마크다운 형식을 사용한다.
  • .gitignore : 깃과 관련된 파일, 공유하지 않아도 되거나 건드리면 안되는 폴더나 파일을 관리한다.
  • License : 해당 코드에 대한 권한을 다루는 부분
    1) Permissions : 권한에 관한 부분, 어디에 사용할 수 있는지 명시
    2) Conditions : 조건에 관한 부분, 사용할 때 지켜야하는 부분
    3) Limitations : 제한에 관한 부분, 라이선스가 커버하지 않는 부분이다.

Git & Github 연결과정

  1. fetch
    단순히 저장소의 내용을 확인, 로컬데이터와 병합 x

  2. pull
    fetch + merge의 효과

  3. clone
    pull + git remote add 해당주소

  4. 깃의 내용을 깃헙에 올리는 과정
    1) 파일 변경
    2) stage area에 파일 add
    3) local repo에 파일 commit
    4) push를 통해 파일 업로드
    5) fork 해온 repo에 반영하고 싶을 경우에는 pull request

Git 레포지터리 내려받기

  1. 생성되는 깃헙 주소
https://github.com/{유저 이름}/{레포 이름}
  1. 깃헙의 레포 내려받기
$ git clone https://github.com/{유저이름}/{레포 이름}
  1. 로컬 레포지토리 지우기
    모든파일을 지울수 있으니 GUI에서 제거하는 것이 안전
$ rm -rf .git
  1. 로컬에서 온라인 레포지터리 주소를 추가
$ git remote add origin https://github.com/{유저이름}/{레포 이름}

Git 문법

  1. git init
    로컬 저장소로 사용할 폴더를 생성하여 해당 폴더로 이동

  2. git add
    1) 깃이 어떤 파일들을 기록할지 정해주는 명령어
    2) 명령어 뒤에는 파일의 경로를 담으면 된다.
    3) 현재 디렉토리를 전부 담으려면 .을 사용하면 된다
    (하지만 한번에 모든 파일들을 기록하는 것은 위험할 수도 있다.)

  3. git status
    깃의 현재 상태를 보고 싶을 때 사용되는 명령어

  4. git commit
    1) 파일들을 기록하는 것
    2) 기본적으로 입력시 커밋할 메세지를 기록할 에디터를 열3) 어준다.
    4) 에디터를 키지 않고 메세지를 남기고 싶을경우 -m 플래그이용

$ git commit -m "git commit message"
  1. git remote
    원격 레포지토리와 관련된 명령어

연결된 원격 레포주소 확인가능

$ git remote -v

원격주소 추가가능

$ git remote add {원하는 이름} {연결할 주소}

원격주소 지우기

$ git remote remove {지울 이름}
  1. git fetch
    특정 주소에서 변경된 사항을 가져옴

  2. git merge
    위에서 가져온 임시 브랜치를 현재 브랜치와 합칠 때 사용

  3. git pull
    fetch,merge 과정을 알아서 해줌 (자신만의 머지/합병 알고리즘을 실행하기에 유의)

  4. 로컬에서 많이쓰이는 명령어

  • git status
  • git log
  • git commit
  • git add
  • git branch : 새로운 브랜치를 만든다.
  • git checkout : 브랜치의 이동이 가능하다.
  1. 깃헙등 온라인에서 사용되는 명령어
  • git push
  • git pull
  • git fetch
  • git merge
  • git remote

Git 추가정보

  1. git의 master 브랜치는 인종차별적인 이유로 권유되지 않는다 main을 이용하자

  2. 깃에서 저장한 순간은 사진찍듯 스냅샷을 저장한다고 한다. (체크포인트라고도 말한다)

  3. git의 push를 통해 다른 저장소의 내용도 저장가능하다.

profile
For DE, DA / There is no royal road to learning

0개의 댓글