[ 一日30分 인생승리의 학습법 ] 프로젝트 만들고 GitHub에 첫 Commit하고 Push하기

먼저 GitHub에서 새로운 저장소(Repository)를 만들자!

 

 

GitHub에 접속한 다음, 우측 상단에 있는 [+] 기호를 클릭하고

"New repository"를 클릭하여 새 저장소 생성 페이지로 이동한다.

 

 

 

 

 

새 저장소 생성 페이지가 나타나면 필요한 항목을 입력하고 [Create Repository]를 클릭한다.

 

 

 

 

 

저장소가 신규로 생성되면 바로 아래와 같은 빠른 설정 가이드가 나타나는데 이곳에 이미 무엇을 해야할지 명령어 목록이 나타나있다.

 

 

 

 

 

 

명령 프롬프트(cmd) 또는 터미널(Terminal)을 열어

자신이 GitHub에 등록한 프로젝트를 만들거나, 기존 프로젝트의 디렉토리로 이동한다.

 

$ cd "C:\MyProjects\TestProject"

만약 Git 프로젝트가 아니라면 아래 명령어를 사용하여 Git 프로젝트로 초기화를 해준다.

* Git의 초기화일뿐 프로젝트가 초기화되진 않는다.

* 만약 Git 프로젝트인데 이 명령어를 사용하면 그동안 쌓인 Git 기록이 초기화 될 수 있으니 주의한다. (프로젝트 디렉토리에 ".git"이라는 폴더가 있다면 Git 프로젝트이다. Unix/Linux 환경에서는 파일 이름 앞이 .기호로 시작된다면 숨김 파일이므로 ls -a를 사용하여 확인해야한다.)

 

$ git init

# 출력:
Initialized empty Git repository in /프로젝트위치/.git/

이제 이 Git 프로젝트에서 아래 명령어를 통해 원격 저장소인 GitHub를 추가해준다.

 

[이름]은 이 Git 프로젝트를 다루는 컴퓨터에서 사용할 원격 저장소의 이름을 지정해주는 것이고

보통 origin을 사용하고, github, firstserver 등등 아무 이름으로 지정해도 된다. 단지 자신이 어느 원격 저장소를 사용하는지만 구분할 줄 알면 된다.

 

* 저장소는 여러개 추가할 수 있다.

$ git remote add [이름] [HTTPS 또는 SSH 주소]

# 예시:
# git remote add origin https://github.com/smartse0k/blabla.git
# git remote add github https://github.com/smartse0k/blabla.git

첫 번째 커밋(Commit)을 하기 위해 소스코드나 아무 파일을 만들고 내용을 채워준다.

그리고 아래 명령어를 통해 상태를 본다.

 

$ git status

# 출력:
On branch main (현재 브런치: main)

No commits yet (아직 아무 커밋 없음)

Changes to be committed: (커밋될 변경점 = 커밋 명령어를 사용하는 경우 적용될 대상 = Stage된 변경점)
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md (새 파일 README.md 생성)

Changes not staged for commit: (Stage되지 않은 변경점 = 커밋이 적용되지 않는 대상)
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md (README.md의 수정)

Untracked files: (추적하지 않는 파일들)
  (use "git add <file>..." to include in what will be committed)
        .idea/
        Phodobit/

 

위 출력에 이미 괄호()를 사용하여 해석할 수 있게 메모해두었다.

출력 내용은 사용자의 동작 순서에 따라 변경될 수 있으므로 반드시 설명을 이해하도록 하자.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

만약 이 상태 그대로 커밋한다면 "오직 README.md 생성"만 커밋된다. (내용은 반영되지 않는다.)

또 Changes to be committed에 아무 내용이 없다면 커밋할 내용이 없으므로 커밋 자체가 되지 않는다.

 

그렇기 때문에 현재 소스코드 또는 파일의 내용을 그대로 커밋할 내용에 반영(필자의 경우 README.md에 적힌 내용도 반영)할 필요가 있다.


아래 명령어를 통해 Stage 상태(Changes to be committed에 추가)로 만들어준다.

 

$ git add [파일명]

# 예시:
# git add README.md

 

그리고 다시 "git status" 명령어를 통해 위에서 설명한 내용대로 잘 반영 되었는지 직접 확인해보자.

 


이제 아래의 명령어를 입력하여 커밋을 등록한다.

$ git commit -m "커밋메시지"

# 예시:
# git commit -m "README.md 추가"

# 출력:
[main (root-commit) 504c5aa] README.md 추가
 1 file changed, 3 insertions(+)
 create mode 100644 README.md

* 만약 커밋하는데 아래와 같은 메시지가 나타나는 경우 메시지에 따라 절차를 수행해준다.

 

Author identity unknown

*** Please tell me who you are.

Run

git config --global user email "~"

git config --global user.name "~"

to set your account's default identity.

Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'js@JS-PC.(none)')

 

현재 Commit을 하는데 있어 누군지 신원을 입력하지 않았기 때문에 메시지가 요구하는대로 신원을 밝혀주어야 한다.

$ git config --global user.email "자신의 이메일"
$ git config --global user.name "자신의 이름/닉네임"

커밋(Commit)을 하면 로컬(Local: 자신의 PC 안)에서만 반영이 된다.

이제 GitHub에 Push(푸쉬 = 업로드)하기 위해 아래 명령어를 사용한다.

 

$ git push [저장소이름] [브런치이름]

# 예시:
# git push origin main

 

 

* 현재 Git 프로젝트에 기본 저장소를 설정해두면 `git push` 명령어만으로도 Push가 가능하다.


 

사용중인 Git의 버전과 저장소 Scheme에 따라 출력이 다른데 HTTPS로 한 경우엔 로그인 화면이 나타난다.

로그인 화면이 나타나면 자신의 Github 계정으로 로그인하도록 하자.

 

* 만약 SSH로 한 경우엔 SSH Key를 등록한 경우 즉시 Push가 완료되고, SSH Key를 등록하지 않은 경우 인증 실패가 나타나는데, SSH 인증은 나중에 알아보도록 한다.

 

Push가 완료되면 아래와 같은 출력이 나타난다.

 


이제 GitHub 저장소 페이지를 새로고침하면 자신의 코드/파일이 Push(업로드)된 것을 확인할 수 있다.

 

 

[출처] https://phodobit.kr/59

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1115 [ 一日30分 인생승리의 학습법] 2023 네이버 다이어리 굿노트 템플릿으로 심플하게 새해 계획 file 졸리운_곰 2023.01.07 15
1114 [ 一日30分 인생승리의 학습법] 프로그래밍 스킴 Scheme 1 다운로드부터 문법 대부분을 314초만에 알려줄게요 졸리운_곰 2023.01.05 5
1113 [ 一日30分 인생승리의 학습법] ROBOCOPY(로보카피) 사용법 file 졸리운_곰 2023.01.05 10
1112 [ 一日30分 인생승리의 학습법] PHP, VBA and SQL Useful Scripts PHP, VBA 및 SQL 유용한 스크립트 file 졸리운_곰 2023.01.01 7
1111 [ 一日30分 인생승리의 학습법] KoELECTRA로 기계독해(MRC) API 개발 file 졸리운_곰 2023.01.01 7
1110 [ 一日30分 인생승리의 학습법] 일 안 해도 생기는 수입? 그런 ‘패시브 인컴’은 없다 file 졸리운_곰 2023.01.01 6
1109 [ 一日30分 인생승리의 학습법] Qemu를 이용한 가상화 기초 file 졸리운_곰 2022.12.31 5
1108 [ 一日30分 인생승리의 학습법] 파이토치로 딥러닝해야 하는 5가지 이유 졸리운_곰 2022.12.31 6
1107 [ 一日30分 인생승리의 학습법] 왜 ‘한국어’의 자연어처리(NLP)는 유독 어려울까? file 졸리운_곰 2022.12.31 10
1106 [ 一日30分 인생승리의 학습법] MinIO Windows Service 등록 졸리운_곰 2022.12.24 7
1105 [ 一日30分 인생승리의 학습법] Apache 2.2에서 2.4로 마이그레이션 시 발생하는 에러 및 해결책 정리 졸리운_곰 2022.12.18 6
1104 [ 一日30分 인생승리의 학습법] Git 사용 방법 정리(commit, push, pull request, merge 등) 졸리운_곰 2022.12.04 18
1103 [ 一日30分 인생승리의 학습법] [웹 기획] 화면 설계 용어 - 와이어프레임, 스토리보드, 프로토타입의 차이점 file 졸리운_곰 2022.12.03 6
1102 [ 一日30分 인생승리의 학습법] REST API 설계 (네이밍) 졸리운_곰 2022.11.26 24
1101 [ 一日30分 인생승리의 학습법] REST API URI 규칙 졸리운_곰 2022.11.26 12
1100 [ 一日30分 인생승리의 학습법 ] REST API URL 규칙 졸리운_곰 2022.11.26 9
1099 [ 一日30分 인생승리의 학습법 ] prolog 문법 : Prolog Syntax 졸리운_곰 2022.11.21 3
1098 [ 一日30分 인생승리의 학습법 ] noVNC 작동원리 file 졸리운_곰 2022.11.16 8
» [ 一日30分 인생승리의 학습법 ] 프로젝트 만들고 GitHub에 첫 Commit하고 Push하기 file 졸리운_곰 2022.11.15 4
1096 [ 一日30分 인생승리의 학습법 ] 우분투(리눅스) 에서 EBS 라디오 자동녹음 만들기 졸리운_곰 2022.11.11 9
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED