DecordRay

[1주차] git이란? + VS code와 Github 레포지토리 연동 - 1부 본문

교육/KT 에이블스쿨 3기

[1주차] git이란? + VS code와 Github 레포지토리 연동 - 1부

DecordRay 2023. 2. 1. 23:22
728x90
반응형

git이란? 

  • 4세대 버전 관리 시스템으로 분산 버전 관리라는 강력한 특징을 가지고 있다.

말로만 설명하기엔 이해가 잘 안된다..! 그렇다면 그림으로 보자!

분산 버전 관리

예를 들어 위 그림처럼 로컬 저장소에서 새로운 버전(버전3)을 만든다면 원격 저장소에는 현재 버전 3이 없다. 즉, 로컬 저장소와 원격 저장소가 분산되어 있다는 뜻.

 

이게 왜 강력한 특징일까? 

원격 저장소와 로컬 저장소가 서로 인터넷이 연결되어 있지 않은 상태에서도 버전을 만들 수 있기 때문(=작업을 수행할 수 있기 때문)

 

git의 3가지 주요 기능

1. 버전 관리

2. 백업

3. 협업

 

+ git은 linux로부터 파생되어 생성된 것!

 

비슷한 버전관리 시스템인 드롭박스와의 차이점(?) - 그냥 git의 강점.. 

  드롭박스
버전별 차이점을 보여주는가? x o
소스코드에 댓글을 달 수 있는가?
(행간마다 댓글 작성 가능)
x o
각각의 버전은 그 버전이 만들어진 시점의 작업 디렉토리의 스냅샷인가? x o

저 빨간 동그라미(New Issue)는 무엇인가? - 게시판


첫번째 동그라미(Assignees) - 작성한 글이 누굴 위한 글인지

두번째 동그라미(Labels) - 작성한 글이 어떤 카테고리인지(bug인지, 질문사항인지 등)

 

 


내가 로컬저장소(현재 작업중인 컴퓨터)에서 원격저장소(깃허브 저장소)에 파일을 업로드하기 위해서는 

로컬저장소와 원격저장소간의 인증과정(HTTPS or SSH)이 필요

따라서 자기가 작업하는 컴퓨터에 비밀번호(SSH  key) 생성 후 깃허브 계정과 연동을 완료해야 허용권한을 가질 수 있음.

 

이를 위한 방법 중 하나인 SSH key 등록 방식 과정(VS code를 작업환경으로 사용할 것임)

 

1. VS Code 창에서 터미널 생성(bash)

 

2. ssh-keygen 명령어 입력 후 key 생성될때까지 엔터

  • ssh-keygen : ssh key를 생성하는 명령어

 

3. 이어서 경로 복사 후 ls -al /경로 입력 후 엔터 입력하면 아래와 같이 파일을 볼 수 있음.

  • 1번 id_rsa절대 공유해서는 안되는 파일(공유하면 큰일남. 해킹당함!) - 비밀키
  • 2번 id_rsa.pub마음껏 공유가능^^ - 공개키

 

4. cat + id_rsa.pub 경로를 입력 후 엔터 입력하면 공개키(네모친 부분)를 확인할 수 있음.

  • cat : 파일 내용을 출력하는 명령어(리눅스 명령어)

 

5.위의 공개키를 복사 후 깃허브 Settings에 들어감.

6. SSH and GPG keys 탭 들어간 후 New SSH Key 클릭

 

 

 

7. 아래 사진과 같이 작성 후 Add SSH key 클릭 하면 SSH key 등록 완료 

 

8. 인증 끝!!


위 인증과정을 마쳤다면 작업환경으로 사용할 VS Code에 레포지토리를 연동해야함!

 

연동 과정

1. 깃허브에서 연동할 레포지토리에 들어가서 Code누른 후 SSH 주소 복사

2. VS Code에서 소스제어 탭 누르고 레포지토리 복제 클릭

 

3. 복사한 SSH 주소 붙여넣기 후 아래 리포지토리 URL 클릭

 

4. 아래와 같이 저장소로 사용할 폴더를 생성리포지토리 대상으로 선택 클릭

 

5. 열기 클릭

 

6. 연동 완료

VS Code에서 리포지토리가 연동된 것을 확인 할 수 있음


저장소로 선택했던 폴더 내부에 들어가보기


.git이 생성된 것을 확인

 

 

 

+ git 명령어

commit - 내가 작업한 변경사항을 로컬저장소(작업한 컴퓨터)에 제출하는 행위(스냅샷 개념)

push - 현재 로컬저장소(작업한 컴퓨터)에 있는 최신버전을 원격저장소(github 저장소)에 올리는 작업

 

 

git 1부끝!!

2부는 git 연동을 통해 실제로 활용하는 것에 대해 정리해서 올리겠음!

728x90
반응형
Comments