whatisthis?

etc. 깃허브 레파지토리에 업로드하는 방법 (git bash cmd창) 본문

WEB STUDY/ETC.

etc. 깃허브 레파지토리에 업로드하는 방법 (git bash cmd창)

thisisyjin 2021. 8. 20. 11:12

- 설명용(X). 웹 공부 기록용 블로그입니다. 

설명이 친절하지 않으니 다른 곳에서 알아보시는걸 추천드립니다. 

 

**참조 블로그, 자료들 출처

 

https://guides.github.com/

 

GitHub Guides

GitHub is the best way to build and ship software. Powerful collaboration, code review, and code management for open source and private projects.

guides.github.com

https://geundung.dev/46

https://corinediary.tistory.com/2

 

 

 

GUI로 업로드하는 방법

1. github desktop을 이용해 GUI상으로 진행.

2. git bash로 저장소에 commit-push하는 법 (커맨드 창에 명령어 입력)

두가지 방법 중에서 두번째 방법인 cmd창을 이용한 업로드 방법이다.

 

 

 ** git 다운로드하기

https://git-scm.com/downloads

 

Git - Downloads

Downloads macOS 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 exp

git-scm.com

 

** 레파지토리 생성 방법

 

-Repository name :  저장소의 이름을 적는다. 

-Desciption : 간단한 설명을 적는다 (선택사항)

 

-Public 과 Private 옵션 : Public은 무료. 누구나 레파지토리를 볼 수 있음. 

 

-README파일 생성 옵션에 체크한다.

(*README.md 파일이란, repository의 소개, 설명을 마크다운 언어로 작성한 파일이다.)

 

 

 

Git이 설치 완료되었다면, 위에서 만든 저장소(레파지토리)를 내 컴퓨터로 불러오기 위해

폴더를 임의로 만든 후에 [우클릭]- [Git Bash Here]을 누른다.

 

즉, GitHub에서 만든 저장소(레파지토리)는 원격 저장소이고,

위 사진에 있는 내 컴퓨터 디렉토리에 존재하는 저장소는 로컬 저장소이다.

 

<Git Bash 초기설정>

 

$ git config --global user.name thisisyjin (깃허브 유저명)

$ git config --global user.email _____@gmail.com (깃허브 가입한 이메일주소)

 

후에 다음과 같이 레파지토리를 등록하기.

 

$ git clone http://github.com/thisisyjin/web.git

-> $ git clone http://github.com/(유저명)/(레파지토리명).git 

 

다음과 같이 파일 속에 web파일이 생긴게 보임

--> 나는 레파지토리에 GUI를 이용하여 이미 업로드를 해놓은 상태이기 때문에. (web이라는 파일)

 

 

 


 

 

 

 

나는 이미 GUI로 등록을 해놓은 상태이지만,

git bash로 등록되는 과정을 이해해보기 위해 예시를 들어 살펴보면 다음과 같다.

 

 

 

 

우선, 내가 로컬저장소를 제작한 곳에 (webpr 폴더) 임의로 test.html파일을 추가했다고 치자.

그러면 바로 github에 업로드가 되는가? ----> NO!

 

$ git status

 

bash here 누르고 git status를 입력해보면 파일이 추적불가능(Untracked fies) 이라 뜰 것이다.

 

** 왜 추적불가능 이라고 뜰까?

 

깃허브의 저장소(원격 저장소)와

컴퓨터 상의 저장소,즉 파일이(로컬 저장소) 일치하지 않기 때문에

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

 

 

즉, 해당 파일을 등록하려면 add-commit-push 명령어의 실행이 필요하다.

해당 명령어를 이미지화시킨 좋은 자료가 있어 첨부해보았다.

- 출처는 하단에 기재-

 

cr: https://dev.to/sublimegeek/git-staging-area-explained-like-im-five-1anh

Working directory 현재 파일을 작업(추가, 수정, 삭제)하고 있는 영역
Staging area Working Directory에서 add 명령어를 실행하여 파일이 이동되는 영역
repository commit과 push 명령어를 통해 최종적으로 commit한 사항을 원격 저장소로 업로드.

 

이해하기 쉽게 직접 실행해보자!

web파일, 즉 로컬저장소(working directory)에 임의의 파일인 test1.html을 넣어봤다.

 

위에서 했던 git status 명령어를 입력하니 다음과 같이 untracked files이라 뜬다.

 

untracked files

 

 

1. 우선, staging area로 test1.html 파일을 보내기 위해 add 명령어를 실행한다.

git add test1.html

첫번째 명령어인 add 명령어를 한 결과

이제 초록색으로 new file이라 정상적으로 뜬다! 

이렇게 초록색으로 정상 추가된 파일임을 확인 후에 commit 명령어를 실행할 수 있다.

 

2. staging area에서 레파지토리(원격저장소)로 test1.html 파일을 보내기 위해 commit 명령어를 실행한다. 

 

git commit -m  "커밋로그"

다음과 같이 정상적으로 commit 명령어가 실행되었음을 확인할 수 있다.

여기서, "" 안에는 커밋 로그를 입력하면 된다. 커밋 로그란, 변경사항 등을 적는 것.

 

1 file changed

3. 마지막으로, commit한 파일을 원격 저장소로 업로드하기 위해 push 명령어를 실행한다.

 

git push origin main

여기서 origin이란 원격 저장소의 주소, main은 현재 브랜치(가지)라고 생각하면 된다.

이것이 바로 브랜치 이름! 원래는 master였다가 작년 말 main으로 바꼈다고 함.

 

push 명령어 실행하면 잠시후에 자동으로 github 로그인창이 뜬다.

이렇게 로그인창이 뜨게 되는데, 로그인을 해주면 업로드 완료!

 

 

실제로 github 저장소로 들어가보면 추가되어있는것을 알 수 있다.

위에서 입력한대로 커밋로그도 잘 되어있음을 알 수 있다.

 

삭제하려면 어떻게 해야하는지는 다음 시간에 배워보겠다.