Tools/Git

Git

JangKroed 2022. 10. 1. 20:22
728x90
반응형

배포를 위한 Git 

1) Git ?

  • 체계적인 개발과 프로그램의 배포를 도와주는 형상 관리 도구, 버전 관리 시스템

 

2) 형상 관리 도구 ?

  • 프로젝트 개발 단계에서 소스코드의 버전을 효과적으로 관리 가능
  • 같은 파일을 여러명이서 동시에 작업

 

3) Git 사용에 필요한 개념

Repository ?

  • 모든 파일의 변경 사항을 저장할 수 있는 저장소

- Local Repository: 컴퓨터에 존재하는 Repository 그 자체

- Remote Repository: GitHub와 같이 Git 서버에서 제공되는 Repository

 

Commit ?

  • 이전 변경사항 기준으로 새로 변경된 내용을 기록하는 단위

 

Branch ?

  • 여러 사람이 하나의 레파지토리에서 작업을 할 때 작업 내용이 충돌하지 않도록 해주는 개념

(참고자료 : https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html)

 

누구나 쉽게 이해할 수 있는 Git 입문~버전 관리를 완벽하게 이용해보자~ | Backlog

누구나 쉽게 알 수 있는 Git에 입문하신 것을 환영합니다. Git을 사용해 버전 관리를 할 수 있도록 함께 공부해봅시다!

backlog.com

 

4) Git 명령어

git init

  • Git 저장소를 초기화 하여 해당 프로젝트 폴더를 Git repository 로 만든다

 

git add

  • 지금 변경한 변경 사항을 스테이징 영역(Staging Area)에 올린다
  • - git add . : 모든 변경사항을 올린다
  • - git add app.js : app.js 변경사항만 올린다

 

git commit

  • 스테이징 영역에 올라가 있는 변경사항을 하나의 기록(History)으로 남긴다

 

git remote add

  • git remote add <name> <url> 명령어로 Local Repository 에 <name>이라는 이름의
  • Remote Repositiry 를 추가할 수 있다
  • <url> 에는 Remote repositiry의 주소가 들어감

 

git push

  • Local Repository에 존재하는 Push되지 않은 변경사항을
  • Remote Repository에 업로드 한다

 

git clone

  • Remote Repository로 부터 프로젝트를 복제한다.

 

git pull

  • Remote Repository에 새로 올라온 변경사항을 Local Repository로 가져온다

 

.gitignore ?

  • 프로젝트 최상단에 두고 파일내용을 넣으면 git 변경사항에 속하지 않게 해준다.

 

5) 배포시 Git의 활용

처음 배포 시

  1. git clone
  2. npm install
  3. 서버 켜기

 

이미 배포된 코드를 최신코드로 재시작

  1. git pull
  2. npm install (필요시)
  3. 서버 재시작

 

6) 배포 시 Git의 장점

  • 형상 관리 도구를 사용하는 이유와 비슷
  • 원하는 때에 원하는 형상으로 서버를 켤 수 있다
  • 서버를 최신 형상으로 올렸는데 갑자기 예기치 못한 에러가 발생시
  • 곧바로 이전 형상으로 돌려서 다시 서버를 켤 수 있다
  • (git checkout 기능)

 

GitHub에 Repository 올리기

1) GitHub 웹사이트 접속 및 로그인

https://github.com/

 

2) GitHub에 Repository 생성

  1. 우측 상탄 프로필 옆 + 버튼을 눌러 New repository 페이지로 이동
  2. 레포지토리 생성 정보 입력 및 생성
  3. Repository name : nodejs_spa_mall
  4. 원래 플젝트 이름과 달라도 상관은 없다. 
  5. (Remote Repository의 이름이기 때문)
  6. Description : 생략 또는 자유롭게 작성
  7. Public or Private : Public
  8. Public ? - 아무나 열람 가능하지만 민감한 정보가 없다면 공개 해도 좋다.
  9. Initialize this repository with: 아무것도 체크 x
  10. GitHub가 Reository를 만들어준 뒤 기본 파일을 추가할지 묻는 항목.
  11. 이미 존재하는 Local Repository가 있기에 체크하면 안된다
  12. 체크하게 되면 Remote Repository에 다른 Commit History가 생긴다

=> Local Repository에 있는 Commit History가 생겨나게 되는데

Remote Repository에 올리려고 시도하는 경우 충돌이 생겨남.

 

3) SSH Key 발급받기

  • 생성한 Remote Repository를 사용하기 위해선 Local 환경에서
  • GitHub를 사용하기 위해 인증받아야 한다.
  • 기존에는 Private Repository를 접근하거나, Commit, Push 등의 기능을
  • 사용하기 위해선 로그인 방식을 채용했으나, 21년 8월 13일 부터
  • GitHub를 인증할 때 계정을 로그인하는 방식으로 진행 할 수 없다.
  • 현재는 사용하기 위해 인증받기 위해
  • Personal access token을 등록 하거나,
  • SSH를 등록하는 방법이 있는데 지금은 이방법을 써서 인증 받도록 하자

 

  • 터미널에서 SSH key 발급
  • Window에선 Git Bash, mac에선 터미널을 이용해서 SSH Key를 발급 받는다
ssh-keygen -t rsa -b 4096 -C "GitHub E-mail"
  • RSA 키를 등록할 때 위치를 지정하거나, 패드워드 없이 기본값으로 설정
  • ~/.ssh 경로에 rea파일이 생성

 

  • 설정 페이지로 이동
  • 정상적으로 SSH Key를 발급받았다면 개인키를 GitHub 웹페이지
  • 우측상단 프로필을 누르고 Setting 페이지로 이동한다
  • 좌측에 있는 SSH and GPG keys 페이지로 이동한다
  • 우측 상단에 있는 New SSH Key를 누르고 등록페이지로 이동한다
  • SSH Key를 복사후
cat ~/.ssh/id_rsa.pub
  • 입력창을 보면
  • Title : SSH Key의 이름이다. 원하는대로 설정하고
  • key type : 등록하려는 Key의 타입을 설정한다 (Authentication Key)
  • Key: 이전단계에서 복사한 SSH Key의 정보를 등록한다.
  • 마지막으로 Add SSH Key를 누르면 완료

 

4) Local Repository에 Remote Repository로 올리기

  • Remote Repository 주소 복사하고
  • Remote Repository를 Local Repository에 추가 : git init & git remote add
git init
git remote add origin <github 페이지에 나오는 주소>
git remote add origin git@github.com:archepro84/nodejs_spa_mall.git

 

  • Local Repository를 Remote Repository에 올리기 : git add & git commit & git push
  • 프로젝트에서 Add -> Commit -> Push 순으로 진행
git add .
git commit -m "first commit"
// 모든 변경된 파일을 등록하고, first commit이라는 커밋 메시지로 업로드한다라는 뜻
  • 등록한 커밋을 Remote Repository에 올리는 명령어
git push -u origin master
// 해당 명령어 입력시에 오류가 발생한다면 master 대신에 main으로 명령어를 수정

GitHub에서 확인해보자 !

 

5) 최신 변경사항 올려보기

  • 변경사항이 있는지 확인
git status
  • modified : 수정된 파일의 개수를 나타낸다.
  • Untracked files : 아직 Git을 통해 관리하지 않고 있는 상태에 있는 파일

 

  • 변경사항을 Staging Area에 올리고 Commit
git add .
git commit -m "프론트엔드 코드 추가"
  • Push
git push

 

좀 더 알아보자 !

1. Git에서 Branch를 쓰는 법과 쓰는 구체적인 이유

 

2. GitHub에서의 PR 이란?

 

 

참고할만한 자료들

https://backlog.com/git-tutorial/kr/intro/intro1_1.html

 

누구나 쉽게 이해할 수 있는 Git 입문~버전 관리를 완벽하게 이용해보자~ | Backlog

누구나 쉽게 알 수 있는 Git에 입문하신 것을 환영합니다. Git을 사용해 버전 관리를 할 수 있도록 함께 공부해봅시다!

backlog.com

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

728x90
반응형