저장을 습관화

local에서 GitHub repository로 올리기 본문

공부/메모

local에서 GitHub repository로 올리기

ctrs 2023. 6. 25. 14:27

Windows 10 기준

 

1. 작업 중인 컴퓨터의 SSH Key 발급

CMD

ssh-keygen -t rsa -b 4096 -C "(github 가입할때 사용했던 이메일 주소)"

SSH Key 발급 명령어를 입력시 파일을 생성할 경로는 어디인지, 패스워드는 사용할 것인지 묻는다

별도의 설정없이 생성이 완료될때까지 엔터를 누른다.

 

생성 완료

이 중 id_rsa.pub의 내용을 GitHub에 보내줄거다.

cd C:\Users\admin\.ssh
type id_rsa.pub

윈도우 CMD에서 파일을 읽을때는 type 명령어를 사용한다.

리눅스의 cat과 같다.

 

 

2. 발급받은 SSH Key를 GitHub에 등록

GitHub 접속 -> 우측 상단 프로필 사진 클릭 -> Settings

좌측 목록에서 Access -> SSH and GPG Keys 클릭 -> SSH Keys -> New SSH Key 선택

 

Title에 Key의 이름을 등록해주고 Key type은 'Authentication Key'를 유지한다.

그 뒤 Key 칸에 미리 발급받았던 id_rsa.pub의 내용을 붙여넣는다.

Add SSH Key를 누르고,

GitHub 계정의 패스워드를 입력하면

 

키 등록이 완료되었다.

 

3. 로컬과 Github repository 연결

리포지터리의 ssh 주소 복사

 

작업 중인 VSC에서 터미널에 git 사용 시작 명령어 입력

git init

.git/ 디렉토리 생성 확인

 

작업 중인 디렉토리와 github repository 연결

git remote add origin (github repository의 SSH 주소)

 

※ 연결 후 파일을 업로드 하기 전에

작업 환경은 각 사람마다, 컴퓨터마다 다르기 때문에

내가 작업 중인 상황 그대로 업로드한 파일을

다른 사람이 사용할때 의존하고 있는 각 파일들을 수정하고

패키지 버전을 조정하는 등 번거로울 수 있다.

 

이럴 때 사용하는 것이 .gitignore 파일인데

이를 사용하여 특정 파일, 특정 디렉토리를 github 업로드 대상에서 제외시킬 수 있다.

 

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

 

만약 node.js, express로 웹 서버를 구축 중이었다면

gitignore.io에서 node를 검색하여 나오는 내용을 모두

.gitignore 파일에 붙여넣으면 된다.

 

아니면 아래와 같이 파일의 이름을 직접 입력해줄 수도 있다.

 

 

4. 로컬에서 repository로 업로드

git add . // 변동 사항이 있었던 파일들을 전부 올린다.
git commit -m "commit message" // 올린 파일을 커밋한다.

파일의 표식이 U에서 A로 변경되었다.

 

 

로컬 저장소의 변경 내용을 "origin"이라는 원격 저장소의 "master" 브랜치로 업로드한다.

git push -u origin master

GitHub repostitory에 파일이 업로드 된 것을 확인할 수 있다.

 

5. 변경사항을 만들고, 다시 업로드

업로드하였던 testfile_a.js의 내용을 변경

git status

변경된 내역이 있는 파일을 확인

git add .
// or
git add (file name)

git commit -m "내용 수정 테스트"

 

git push

 

이전에 했었던 push에서 원격 저장소 "origin"과 브랜치 "master" 생성 되었으므로

$ git push 만 입력해준다면 변경 내용이 자동으로 origin 저장소의 master 브랜치로 가게 된다.

이후 github repository에서도 변경 사항이 등록되었음을 확인할 수 있고

커밋 메시지 '내용 수정 테스트'를 클릭하면

 

이 커밋에서 어떤 내용이 변경되었는지도 확인이 가능하다.