본문 바로가기

깃허브

[Github] 깃허브 repository에 파일 올리기

티스토리 블로그를 만들고 올리는 첫 포스팅 주제는 바로

[Github 저장소에 파일 업로드하기]

입니다 !

 

이번 포스팅은

Git bash를 이용해 Github 저장소에 내 소스코드들을 업로드하고싶다

하시는 분들이 참고하면 좋을 것 같아요 !

 

아래 진행될 작업은 Github desktop을 이용해 GUI상에서 더 쉽게 할 수 있지만

저는 커맨드 창에 명령어를 입력하는 방식에 익숙해지고자

git bash로 저장소에 commit-push하는 법을 익혀보았습니다 !!!!

 


 

1. Git 설치하기

우선 아래 사이트에서 git을 설치합니다. (Windows/Mac OS/Linux/Unix)

https://git-scm.com/downloads

 

Git - Downloads

Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific

git-scm.com

 

2. Github에 저장소(repository) 만들기

Github사이트에 접속 후 로그인을 하고 (계정이 없으시다면 회원 가입을 해주세요!)

우측 상단에 프로필을 눌러주세요.

Your profile 을 눌러 여러분의 프로필로 이동한 뒤,

 

 

상단에서 Repositories를 누르면 우측에 초록색의 New 버튼이 있습니다.

눌러서 새 Repository를 만들어 줍시다.

 

 

 

Repository name에 저장소의 이름을 입력합니다.

Description에는 이 저장소에 대한 간단한 설명을 입력하시면 됩니다.

 

그 아래에는 저장소를 모두에게 공개하는 Public과

공개할 사람을 사용자가 지정할 수 있는 Private이 있는데

Public으로 설정해줍니다! (Private은 유료)

 

이후 initialize this repository with a README를 체크해주시면

저장소가 생성될 때 README.md 파일이 자동으로 함께 생성됩니다!

(여기서 README.md 은 repository의 소개, 설명을 마크다운 언어로 작성한 파일입니다.)

 

모두 작성했다면 아래의 Create repository 버튼을 눌러 저장소를 생성합니다.

 

3. 내 컴퓨터에 원격 저장소 가져오기

이제 Github 웹사이트에서 생성했던 저장소를 내 컴퓨터로 가져와봅시다.

 

로컬 저장소를 만들 디렉토리로 이동한 후

마우스 우클릭을 하고 git bash here을 선택해주세요.

(*윈도우 기준 git bash, 리눅스/맥의 경우 터미널 열기)

 

*로컬 저장소: 내 컴퓨터 디렉토리 내에 존재, 원격 저장소와 동기화할 저장소

*원격 저장소: Github에서 생성한 저장소

 

 

git설치 후 초기 설정을 위해

 

git config --global user.name [깃허브 가입 시 이름]

git config --global user.email [깃허브 가입 시 이메일]

 

을 차례로 입력한 후 Enter를 눌러주세요. ( []는 생략 )

 

앞서 생성한 저장소를 가져오기 위해

 

git clone http://github.com/[내 이름]/[저장소 명].git

 

를 입력해줍니다.

 

이제 저장소 이름과 같은 폴더가 생기고(로컬 저장소)

그 안에는 .git이라는 폴더가 있는 것을 확인할 수 있습니다!

 

4. git add

방금 생성한 로컬 저장소에 업로드할 파일을 넣어주세요.

(저는 Review01.cpp 파일을 깃허브 저장소에 올려보도록 하겠습니다.)

 

다시 git bash here로 커맨드 창을 열어준 뒤

 

git status

 

명령어로 현재 저장소에 있는 파일 상태를 확인합니다.

 

 

Untracked files 에 방금 저장소에 넣어 준 Review01.cpp 파일이

빨갛게 표시되면서 추적되지 않는 파일이라고 합니다.

깃허브의 저장소(원격 저장소)와 현재 내 컴퓨터 상의 저장소(로컬 저장소)가 일치하지 않아

추가 한 파일의 존재를 알 수 없기 때문입니다.

 


 

이 파일을 깃으로 전달하기 전에

add-commit-push 명령어를 통해

Working Directory에서 Staging Area로, Staging Area에서 Repository로의 흐름을 거쳐야 합니다.

 

이미지 출처: https://dev.to/sublimegeek/git-staging-area-explained-like-im-five-1anh

*Working Directory: 현재 파일을 작업(추가, 수정, 삭제)하고 있는 영역

*Staging Area: Working Directory에서 add 명령어를 통해 파일이 이동되는 영역, commit전의 상태

*Repository: commit과 push 명령어를 통해 최종적으로 commit한 사항을 원격 저장소로 업로드함

 


 

그렇다면 Untracked file인 Review01.cpp파일을

Working Directory에서 Staging Area로 이동시켜 보겠습니다.

 

git add [파일 이름]

 

Staging Area로 이동시킨 후 git status로 다시 파일 상태를 확인해보니

new file: Review01.cpp

로 Untracked file이었던 게 초록색으로 바뀐 모습을 볼 수 있습니다!

이렇게 초록색으로 되면 다음 단계인 commit을 할 수 있습니다.

 

5. git commit

이제 Staging Area의 파일들을 commit할 차례입니다.

이 때 commit log를 남길 수 있는데,

여기에는 주로 코드 변경사항 등을 메모해줍니다.

 

git commit -m ["커밋 로그를 작성해주세요"]

 

명령어를 입력한 뒤 Enter를 눌러 commit을 완료합니다.

(* 이 때는 " " 따옴표로 감싸줘야 해요!)

 

6. git push

마지막으로 commit한 파일을 원격 저장소로 최종 업로드하기 위해

다음 명령어를 커맨드 창에 입력해줍시다.

 

git push origin master

 

*origin: 원격 저장소의 주소

*master: 현재 브랜치

→ git push origin master의 뜻은 대략

"내가 등록한 원격 저장소(origin)안에서 master 브랜치로 push하겠다" 로 해석할 수 있습니다!

(브랜치는 git에서 협업, 버전 관리를 위해 '가지'를 따서 작업할 때 사용되는 개념입니다.)

 

**

2020년 10월을 기점으로 새로 생성한 repository의 디폴트 브랜치 명mater -> main 으로 바뀌었다고 합니다 !!

따라서 명령어도 git push origin main(=push할 브랜치 명) 으로 입력해야 하겠죠?

git push origin main

**

 

 

명령어 입력 후 github 로그인 창이 뜨는데

이름(or 이메일)과 비밀번호를 입력하고 로그인을 해 주면

모든 과정이 완료됩니다!

 

이후 깃허브 저장소로 이동하면 내가 올린 파일이 커밋 로그와 함께 올라온 모습을 볼 수 있습니다.

(상단의 commit에 +1이 된 것도 확인할 수 있어요!)

이렇게 commit기록이 잘 남아있는 것을 확인하셨다면

add-commit-push과정을 정상적으로 거친 것입니다!

 


 

이번 포스팅에서는

git 명령어를 이용해 로컬 저장소에 파일을 업로드하고

원격 저장소로 push하는 방법을 기록해보았습니다.

 

내용 중 틀린 부분이 있을 수도 있습니다ㅠㅠ

수정할 부분이나 더 나은 방법이 있으시다면

언제든지 댓글로 알려주시면 감사하겠습니다 ^0^ !!!

 

글 봐주셔서 감사합니다 :-)

반응형