- Git의 환경설정을 할 수 있다.
- 버전 관리 시스템의 필요성을 이해할 수 있다.
- Github과 Git의 관계에 대해 이해할 수 있다.
- local repository와 remote repository의 차이를 이해할 수 있다.
프로그래밍을 할 때, 문법이 틀렸거나 코드를 잘못 작성한 흔적을 뒤늦게 발견할 때가 있다. 작성중이라면 ctrl + z로 돌아갈 수 있지만, 에디터를 종료해버렸다면 이전 코드로 돌아갈 수 없다.
이런 때를 대비해서 이전에 작성한 내용을 보존해야 할 필요가 있다. 이렇게 이전에 작성한 내용을 보존해 주는 시스템이 바로,
버전 관리 시스템(Version Control System)이다.
Git을 학습하며 버전 관리와 협업의 기본을 학습하고, 오픈 소스(Open Source : 소스 코드가 공개된 소프트웨어) 생태계에 기여할 수 있는 멋진 개발자가 되어보자!
- 파일이 변경되면 변경 이력을 저장할 수 있다.
- 이전 버전으로 돌아갈 수 있다.
- 어떤 변경 사항이 발생했는지 알아보기 쉽다.
- 협업에 편리하다.
- 백업용으로 좋다.
저장소. 말 그대로 파일이나 폴더를 저장해 두는 곳
내가 작업하는 소스 코드 폴더가 버전 관리를 받게 하기 위해서는 내 폴더를 Git의 관리 아래에 두어야 한다.
➡ Git으로 관리되는 폴더 = Git repository
Git repository 는 Remote Repository & Local Repository 두 종류의 저장소를 제공
작업할 때는 Local Repository에서 할 수 있고
내가 작업한 코드를 공유하려면 Remote Repository에 업로드해 여러 사람이 함께 공유
물론 다른 사람이 Remote Repository에 올려놓은 소스 코드를 내 Local Repository 로 가지고 오는 것도 가능!
Fork: 먼저 React 원격 저장소를 내 원격 저장소로 가지고 오는 작업
Fork 를 하고나면 나의 Remote Repository에 React 코드를 옮겨온 상태
Clone: 이 코드를 수정하기 위해서는 내 컴퓨터로 가져오는 작업
Remote Repository에 있는 코드를 Clone 해서 내 컴퓨터로 가지고 옴.
내 컴퓨터에서 React 소스코드 변경 작업을 완료한다.
Push: 변경된 내용을 commit을 통해 저장해 준 뒤, Remote Repository에 반대로 올려주는 작업
Local Repository에 기록해 놓은 commit을 Remote Repository로 업로드하는 것!
Pull request: Push를 완료 후, 내가 제안한 코드 변경사항에 대해 반영 여부를 요청하는 작업
git config --global user.name "유저이름"
git config --global user.email "유저 이메일"
위 두 명령어로 앞으로 진행할 Git 커밋 내역에 기록할 사용자 이름과 이메일 주소를 설정.
--global
옵션으로 설정하면, 사용자 홈에 저장되므로 git을 설정할 때 처음에 단 한 번만 입력해도 된다. 나중에 github의 사용자 이름이나 이메일을 변경한다면, 이 명령어를 다시 입력해야 한다.
만약 여러 프로젝트를 진행하고 있어서, 프로젝트마다 다른 사용자 이름과 이메일 주소를 사용하고 싶으면 --global
옵션을 빼고 명령을 실행할 수 있다.
ssh는 Secure shell의 줄임말로, 보안이 강화된 shell 접속을 의미.
ssh-keygen
프롬프트에 다음 명령어 실행 후, 이후 뜨는 질문들에 Enter 누르면(3번) 경로 ~/.ssh./
에 두 파일 id_rsa
와 id_rsa.pub
를 생성.
이 두 파일은 ssh 키 페어로,
id_rsa.pub
: 누구에게나 공개해도 되는 공개키(Public Key)id_rsa
: 공개되면 안 되고 나만 보관하고 있어야 하는 개인키(Private Key) 또는 비밀키(Secret Key)cat ~/.ssh/id_rsa.pub
위 명령어 실행 후 뜨는 공개키 복사
setting > SSH and GPG keys 로 들어가 New SSH key
버튼 클릭
title 작성 후 key칸에 복사한 공개키 붙여넣고 Add SSH Key
버튼 클릭
임의의 Repository의 code 버튼 클릭하여 SSH 주소 복사한 뒤
프롬프트에 아래 명령어 치면 정상적으로 clone이 이루어져야 함
git clone [복사한 SHH 주소]