Post

Github 셋팅 및 다양한 기능 01

Github란 ?

GitHub(깃허브)는 분산 버전 관리 시스템인 Git을 기반으로 하는 코드 호스팅 플랫폼입니다. 소프트웨어 개발 프로젝트를 위해 Git을 사용하여 버전 관리하고, 코드를 호스팅하고, 협업하는 데 사용됩니다. GitHub은 개발자 커뮤니티와 오픈 소스 생태계에서 매우 인기 있는 플랫폼으로, 다양한 프로젝트를 호스팅하고 소프트웨어 개발 과정을 지원합니다.

Github 초기 설정

Github는 커밋할 때 마다 사용자 정보를 기록하고, 편집기 설정에 따라 메세지를 작성할 수 있다.

터미널에서 Github 버전 확인하기

터미널을 실행한 후 git –version을 입력합니다

1
2
ryun__04@gimjin-uui-MacBookAir ~ % git --version
git version 2.39.3 (Apple Git-146)

버전 —-라고 나옵니다.

저장되어 있는 Github 설정 확인하기

데스크탑의 name과 email을 확인합니다. 본인의 name과 email로 바꿔줍니다.

1
2
3
4
5
6
7
8
9
ryun__04@gimjin-uui-MacBookAir ~ % git config --list
credential.helper=osxkeychain
init.defaultbranch=main
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
user.name=sss
user.email=ksssssss6@gmail.com

현재 이름이 sss / email이 ksssssss6@gmail.com로 돼있습니다.

1
2
git config --global user.name "JinWoo Kim"
git config --global user.email "kjw040416@gmail.com"

이름을 JinWOo Kim / email을 kjw040416@gmail.com 바꿉니다.

업로드할 파일로 경로를 바꿔줍니다

1
ryun__04@gimjin-uui-MacBookAir github % cd KIMJW04.github.io 

깃 상태 확인 및 파일 업로드

모든 파일을 보여주라고 입력합니다

1
2
3
4
5
ryun__04@gimjin-uui-MacBookAir class2024 % ls -a
.		.gitignore	index.html	quiz
..		README.md	javascript	sss
.DS_Store	asssets		json		test.html
.git		effect		mysql		webd

mac 사용자는 Github 계정 설정에가서 developer settings에서 토큰을 설정해야 합니다

1
2
3
4
5
6
7
8
9
10
ryun__04@gimjin-uui-MacBookAir class2024 % git push https://사용자이름:토큰@github.com/사용자이름/저장소명.git
Enumerating objects: 24, done.
Counting objects: 100% (24/24), done.
Delta compression using up to 8 threads
Compressing objects: 100% (13/13), done.
Writing objects: 100% (15/15), 20.58 KiB | 10.29 MiB/s, done.
Total 15 (delta 8), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (8/8), completed with 7 local objects.
To https://github.com/사용자명/저장소.git
   214b985..96cee96  main -> main

GitHub 계정에 SSH 키를 추가합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ryun__04@gimjin-uui-MacBookAir class2024 % ssh-keygen -t rsa -b 4096 -C "이메일"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ryun__04/.ssh/id_rsa): 
Created directory '/Users/ryun__04/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/ryun__04/.ssh/id_rsa
Your public key has been saved in /Users/ryun__04/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:eQ296bDtvc3uCZpUfPrr1GS4yxOaRwgCi6u3fGLJCKI kjw040416@gmail.com
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|      .    .     |
|     . o  . .    |
|    . . ...o.o . |
|     .  S.o.++..o|
|o   .    . =o =+.|
|o. + .    ..o*.o.|
|E o.* .   ..=o*+.|
|   oo+     o..*X*|
+----[SHA256]-----+

git 작업에 SSH URL을 사용합니다:

1
ryun__04@gimjin-uui-MacBookAir class2024 % git remote set-url origin git@github.com:사용자이름/저장소명.git

Github에 파일을 올립니다

1
2
3
4
5
ryun__04@gimjin-uui-MacBookAir class2024 % git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

저는 올릴 파일이 없습니다. 올릴 파일이 있으면 추가적으로 여러가지 파일이 뜹니다.

1
ryun__04@gimjin-uui-MacBookAir KIMJW04.github.io % git add .

수정된 모든 파일을 업데이트 한다고 설정합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ryun__04@gimjin-uui-MacBookAir KIMJW04.github.io % git commit -m "2024.04.08"  
[main 5ab0ec4] 2024.04.08
 3 files changed, 126 insertions(+)
 create mode 100644 _posts/coding/2024-04-08-github01.md
ryun__04@gimjin-uui-MacBookAir KIMJW04.github.io % git push origin main
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 8 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 2.91 KiB | 2.91 MiB/s, done.
Total 7 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), completed with 5 local objects.
To https://github.com/KIMJW04/KIMJW04.github.io.git
   8d0c3ab..5ab0ec4  main -> main

변경 사항을 스테이징하고 커밋합니다

1
2
3
4
5
6
7
8
9
10
ryun__04@gimjin-uui-MacBookAir kimjw04.github.io % git push origin main
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 910 bytes | 910.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/KIMJW04/KIMJW04.github.io.git
   5ab0ec4..027eaff  main -> main

Git push를 통해 성공적으로 코드를 원격 저장소에 업로드하셨습니다. 아래는 업데이트된 정보입니다:

원격 저장소: https://github.com/KIMJW04/KIMJW04.github.io.git 브랜치: main 커밋 범위: 5ab0ec4에서 027eaff까지 변경 사항이 원격 저장소의 main 브랜치로 반영되었습니다. 계속해서 원격 저장소와 동기화할 수 있습니다.

필자는 터미널로 github를 사용하는데 미숙해서 부족한 부분들이 설명에 있어 부족한 부분이 많습니다. 댓글 남겨주시면 수정하도록 하겠습니다. 변변찮은 글 읽어 주셔서 감사합니다.

This post is licensed under CC BY 4.0 by the author.