반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

신군의 역학사전

[GitHub] 깃허브 기본 활용법 정리 본문

Python/Git

[GitHub] 깃허브 기본 활용법 정리

긔눈 2024. 6. 3. 12:00
반응형

그동안 스스로 학습한 내용에 대해 블로그에 정리하는 습관을 들여왔는데, 코드를 다루는 학습의 경우 줄글로 내용을 정리하기가 어렵게 느껴졌다. 그러던 와중에 팀 내에서 깃헙을 적극 활용해보자는 의견이 나와 기본적인 활용법을 정리해보게 되었다.

 

1. 레포지토리(Repositories) 만들기

우선 내가 짠 코드를 업로드해줄 레포지토리를 만들어준다.

깃헙에 로그인하면 위와 같은 화면이 뜨는데

왼쪽 Top Repositories의 초록색 New 버튼을 클릭해주면 된다.

 

레포지토리 생성 시 기초적인 세팅을 할 수 있는데

Public 설정을 하면 모든 사람이 내 레포지토리를 열람해볼 수 있게 된다.

Private 설정을 해도, 특정인에게 Commit하여 열람할 수 있도록 할 수 있으니

우선 Private을 설정.

 

ReadMe는 레포지토리에 대한 설명을 주로 기입하는 곳인데

프로젝트 상황에 맞게 알아서 선택하면 된다.

 

우선은 Test용 레포지토리를 만들어봤다.

자세히 읽어보면 알 수 있지만, 디폴트 브랜치로 main을 사용한다.

이것 때문에 이후에 문제를 조금 겪었는데, 해당 글에 같이 정리해두었다.

 

여하튼 Test 레포지토리 생성완료

 

2. Git 설치

구글에 Git을 검색해준다.

 

여기서 Downloads를 클릭

 

개인별 OS에 맞게 선택해주면 된다.

나는 윈도우 사용자이므로, Windows를 선택

 

요즘은 왠만하면 64bit이므로

64-bit Git for Windows Setup 클릭

 

이후의 긴 창들은 전부 디폴트 값으로 넘기면 된다.

 

Git 설치 완료

 

3. Git 초기 환경설정

Git bash를 실행시켜준다.

실행 시 cmd창처럼 검은창이 하나 뜨게 된다.

 

git config --global user.name "사용자명"을 입력한다.

나는 왠만하면 영문 + 띄어쓰기X 구조를 지키려 노력한다.

 

다음으로

git config --global user.email "Github가입시 사용한 이메일"을 입력한다.

(제 실제 이메일 주소라 블러처리 했습니다.)

 

git config --list를 입력하면, 여러 정보들이 뜨는데

내가 설정한 사용자명과 이메일이 나온다면 (가장 아래 2개 줄)

환경설정이 문제없이 마무리된 것.

 

4. Github에 코드 or 프로젝트 업로드

11382.py 라는 코드 파일을

Test Repository의 main branch에 업로드 해보겠다.

 

[새터미널]에서 cmd터미널이 아닌, bash 터미널을 띄워준다.

오른쪽 아래화살표를 눌러보면, powershell, bash 등등 옵션을 선택할 수 있다.

 

여기서 위의 순서에 따라 명령어를 작성해준다.

각각의 의미는 아래와 같다.

 

git init : git 초기화

git branch -M main : 업로드할 브랜치를 main으로 설정

git add 11382.py : 11382.py라는 코드 파일을 업로드하고 싶다.

[git add .] 로 열려있는 폴더 내에 모든 파일을 한번에 업로드 시킬 수도 있다.

git status : 현재 상태를 확인하겠다. new file에 내가 업로드 하고 싶은 11382.py가 정상적으로 조회된다.

 

git commit -m "first commit" : first commit이라는 이름으로 히스토리를 만들겠다.

git remote add origin git@github.com ~ :  Github 레포지토리와 내 로컬 프로젝트랑 연결하겠다.

git remote -v : 연결되었는지 확인

git push origin main : main branch로 업로드

 

까지 하면 쉽게 될 줄 알았으나, 오류가 뜬다.

git branch -M main 을 생략하고

기본 브랜치로 먼저 설정되어있는 master로 실행 시 큰 문제없이 코드가 업로드 되었는데

main branch에 올리기 위해 브랜치 변경을 했더니 오류가 발생 ㅠ

 

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

 

해당 오류에 대해 찾아보니, ssh key가 PC에 없어 발생하는 오류라고 한다.

[Github] - [Code] - [Local] - [SSH]에 들어가보면

깃허브 어카운트에 대한 SSH key가 해당 PC에 없다는 알림이 있었다.

 

따라서

ssh-keygen -t rsa -C "깃허브 이메일"

을 통해 ssh key를 생성해준다.

(이메일 나온부분은 블러처리했다.)

 

[Setting] - [SSH and GPG Keys] - [New SSH key]로 들어가

생성한 SSH key를 입력해준다.

 

SSH key는 사용자폴더의 .ssh폴더에

id_rsa.pub파일을 메모장으로 열어보면 확인할 수 있다.

 

복사한 Key를 붙여넣기 해주고 Add를 눌러준다.

 

SSH Key가 정상적으로 등록되었다.

 

이는 bash terminal에서

ssh -T git@github.com

으로도 확인할 수 있다.

 

그리고 다시 git push origin main으로 업로드를 시켜줬더니

다시 오류가 뜬다.

 

 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to

 

이는 깃의 원격저장소와 현재 로컬저장소가

동기화 되어있지 않아 발생하는 오류라고 한다.

 

따라서

git pull --rebase origin main

을 통해 동기화 시켜주면

main branch로 업로드가 문제없이 진행된다.

 

Test Repository의 main branch에

11382.py 코드 파일이 정상적으로 업로드 된 것을 확인할 수 있다.

 

 

반응형

'Python > Git' 카테고리의 다른 글

[GitHub] 코드 업데이트 하기  (0) 2024.06.17