Web 개발/Git

[Github] 깃허브 저장소에 파일 올리기

happii 2021. 12. 22. 17:47

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

Github 사이트에 접속 후 로그인을 하고 우측 상단에 프로필을 눌러주세요.

Your profile을 눌러 자신의 프로필로 이동한 뒤,

상단에서 Repositories를 누르고 오측에 초록색 New 버튼을 눌러 새 Repository를 만들어 줍니다.

 

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

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

 

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

공개할 사람을 사용자가 지정할 수 있는 Private(유료)이 있는데 Public으로 설정해줍니다.

 

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

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

 

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

 

 

 

 

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

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

 

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

마우스 우클릭을 하고 git bash here을 선택합니다.

 

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

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

 

git 설치 후 초기 설정을 위해 

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

을 차례로 입력한 후 Enter를 눌러주세요.

 

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

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

를 입력해줍니다.

 

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

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

 

 

3. git add

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

 

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

git status

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

 

Untraked files에 방금 저장소에 넣어준 BK2884.java 파일이

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

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

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

 

 


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

add-commit-push 명령어를 통해

Working Directory -> 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인 BK2884.java파일을

Working Directiory -> Staging Area로 이동시켜 보겠습니다.

git add [파일 이름]

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

new file: BK2883.java

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

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

 

 

4. git commit

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

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

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

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

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

 


※ 커밋 메시지 작성법

커밋 메시지는 제목, 본문(선택), 꼬리말(선택) 세 부분으로 작성합니다.

 

제목

커밋 메시지 제목은 docs: Edit README.md to include New Features Use-Cases 와 같이 작성한다.

제목은 타입 라벨을 맨 앞에 붙어 타입(Type): 제목 형식으로 작성한다. 각 타입 라벨은 아래와 같다.

 

- feat: 새로운 기능을 추가할 경우
- fix: 버그를 고친 경우
- docs: 문서 수정한 경우
- style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
- refactor: 프로덕션 코드 리팩터링
- test: 테스트 추가, 테스트 리팩터링 (프로덕션 코드 변경 없음)
- chore: 빌드 테스크 업데이트, 패키지 매니저 설정할 경우 (프로덕션 코드 변경 없음)

 

제목의 처음은 동사 원형으로 시작하고 첫 글자는 대문자로 작성한다.

"Fixed", "Added", "Changed" 등 과거 시제가 아닌 "Fix", "Add", "Change"로 명령어로 시작한다.

총 글자 수는 50자 이내며 마지막에 마침표(.)를 붙이지 않는다.

 

본문 (선택)

본문은 커밋의 상세 내용을 작성한다. 제목과 본문 사이에 한 줄 비운다.

본문은 한 줄에 72자 이내로 작성한다. 한 줄을 띄워 문단으로 나누거나 불렛을 사용해 내용을 구분한다.

 

꼬리말 (선택)

꼬리말에는 이슈 트래커 ID를 추가한다.

 


 

5. git push

 

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

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

git push origin main

위와 같은 에러메시지가 뜨는 경우

비밀번호가 토큰이나 ssh 둘 중 하나로 인증을 해야합니다.

 

해결방법 참고.

https://hyeo-noo.tistory.com/184

 

[Mac] GitHub push token 오류 해결

Github 오류 7.29일 새벽 갑자기 git push가 안 되는 현상을 겪었다. 오류의 첫 줄이 무슨 말이냐면 Password 인증방식이 일시적으로 brownout(shutdown?)되었다. Password 대신에 personal access token을 사용..

hyeo-noo.tistory.com

 

 

에러 해결 후 명령어를 입력하면 github 로그인 창이 뜨는데

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

ssh Username과 위에서 생성한 토큰 비밀번호를 입력해주면

모든 과정이 완료됩니다.

 

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