Git 과 Github 를 사용하기 위해 알면 좋은 것들 ( Github에 파일 올려보기 기초 ! )

민이의 기술 노트 ·2023년 9월 1일
0
post-thumbnail

안녕하세요. 민 입니다. 오늘은 Git과 Github에 대해서 말씀을 드리려고 합니다.
학원에서 공부를 배우는 초보 개발자 저에게는 한 가지 문제점이 있었는데요 😫
바로 프로젝트를 진행하면서 Github를 이용하지 않았다는 점 입니다.
하지만 Github를 처음부터 사용하지 않으면서 Github의 소중함도 알게 되었습니다.

Git과 Github의 장점 이제부터 확인하러 가시죠 !

1. Git

💁‍♂️ 예시
1. 어느 날 코딩을 하고 있었는데 수정을 잘못해서 파일이 날라가버렸다면 어느 시점부터 가져와야 할까요 ??
2. 팀 프로젝트를 진행하는 경우 수정을 마친 후 합치려고 하는데 어디서부터 합치고 어디를 수정해야 할까요 ??

개발을 하다보면 기능을 빼고 더하는 수정하는 과정이 필수로 존재하는데
이전에 기능을 사용하고싶은경우 , 원본은 그대로두고 새로운 기능을 수정하고 싶은 경우 이렇게 Save는 필수적으로 존재하는데
어떤 기능이 필요하고 필요없을지 모르는 상황에서 많은 파일을 만드는게 실용적일까요??

Git을 사용하지 않는분은 대부분 파일을 날짜별로 정리할 것 입니다.

하지만 이렇게 분류하다보면 어디에 내가 원하는 기능이 존재하는지 언제 내가 어떤 코드를 수정했는 지 알 수 없을 뿐더러 많은 공간을 차지하고 관리가 어려울 것 입니다.
여기서 Git 을 통해 버전을 나누어서 저장하고 코드가 변경되었다면 변경된 것도 확인하고 , 특정 한 시점에 버전으로도 되돌아갈수 있는것이죠!

자 그럼 Git은 쉽게 이해가 되었죠 ??

💁‍♂️ 요약
1. Git은 파일의 버전관리(= 파일이 수정될경우 시점별로 저장 ) 를 담당한다 .
2. Git을 사용하여 원하는 시점에 원하는 기능을 사용할 수 있고 오류가 발생할경우
해당하는 시점으로 되돌아가 코드를 다시 수정할 수 있다 .

이제 Git은 완료 되었으니 Github에 대해서 말씀 드리력 합니다 .

2. Github

앞에서는 Git에 대한 설명을 드렸습니다. 하지만 Git에만 존재한다면 저희가 보는 것이 매우 힘들고 어딘가 저장소가 필요할 것 같다는 생각이 드시지 않나요 ?? 🤔
여기서 Github는 원격으로 저장해주는 저장소로 저희가 Git에 정보를 저장할 경우
이걸 확인하기 위해서 Github라는 툴을 이용하는 것 입니다 .

무언가 마음에 안 드시죠 ?? 설명만으로는 힘든 작업이기 때문에 지금부터 Github를 사용하기 위해서 알아야 할 정보들과 실제로 실습을 해보겠습니다 .

알아야 할 용어들
1.로컬, 원격 저장소
2.branch
3.repository
4.staging area

  • 이 용어들이 키 포인트라고 생각하시고 진행하시면 됩니다 .

3 Github을 사용하기 위해서 알아야 하는 용어들

Github를 사용하기 위해서는 일단 로컬 저장소와 원격 저장소에 대해서 알아야 하는데요. 로컬 저장소는 뭐고 원격 저장소는 뭐냐 ? 라고 하시면
로컬 저장소 -> 내 컴퓨터
원격 저장소 -> Github

예시로 설명해드리면 작업은 제 컴퓨터에서 진행하죠 ??

3-1 로컬 저장소 VS 원격 저장소

  1. 내 컴퓨터에서 작업 (로컬 저장소에서 작업)
  2. Github에 올라온 폴더를 가져와서 작업 ( 원격 저장소에서 로컬로 가져와서 작업 = 원격 -> 로컬)
  3. 내 컴퓨터에서 작업하고 깃 허브에 올리기 ( 로컬 저장소 -> 원격 저장소 )

3-2 Branch

만약 저희가 팀 프로젝트를 진행하고 있다고 생각해봅시다 .
3-1 에서 원격 저장소에 존재하는 파일을 가져온다고 했었죠 ??
그렇다면 원격 저장소에 있는것을 가져와서 수정을 할 것 입니다.
그럼 가져온 원본은 원래 상태로 유지하고 새롭게 독립적으로 파일을 만들어서 수정해야 하는데 여간 번거로운 일이 아닙니다 . 🤔
그 독립적인 파일은 간단하게 제작할 수 있는 것이 Branch라고 합니다 .
Branch는 원본에 대해서 영향을 주지않으면서 독립적으로 수정이 가능한 저장소라고 생각하시면 됩니다 !

3-3 Repository , Staging Area

앞에서 말씀드렸다시피 공동 프로젝트를 진행하거나 개인 프로젝트를 진행하시 위해서는 원격 저장소로 올리는 과정이 필수적인 것 같은데 로컬 저장소에서 작업하던 내 폴더를 원격 저장소로 한 번에 올릴 수 있는것이 아니라 과정이 존재합니다 .
이 과정에서 거쳐가는 것이 Staging Area , Repository 입니다 .
최종적으로 Repository에 존재하는 것들이 Github에 올라가게 되는 것이죠

이제 git을 사용하시기전에 필요한 것들이 존재하는데요. 미리 설치해주고 오시면 됩니다.

귀찮으시면 이거보고 설치하세요

설치를 마치신 후에는 Visual Studio Code를 이용해서 진행하겠습니다 .

🏃‍♂️ 4. Github에 올려보자 .

이제부터 Git에 올릴 간단한 파일을 작성해보고 실제로 Github에 올리는 과정을 실습하록 하겠습니다 .

1. 기본적인 코드하나 작성해주기.

2. git init 명령어 입력

git init이라는 명령어는 제 컴퓨터를 로컬 저장소로 인식시켜주는 명령어 입니다 .

(base) jomin@jomin-ui-MacBookPro 0901 % git init 
Reinitialized existing Git repository in /Users/jomin/0901/.git/

그럼 이렇게 오류없이 아래에 출력문이 나오는 것이 보일 것 입니다 .

✓ 3. git remote add origin "깃허브경로"

--> "깃허브경로" 확인

이번에는 원격 저장소인 깃 허브의 주소를 가져와서 원격 저장소를 인식 시켜주도록 하게습니다 .
필자는 git 원격저장소 주소가 저장되어있으니 제거하는 것부터 다시 등록하는 것 까지 보여드리겠습니다

(base) jomin@jomin-ui-MacBookPro 0901 % git remote remove origin
(base) jomin@jomin-ui-MacBookPro 0901 % git remote add origin https://github.com/minjo1234/git-test.git
(base) jomin@jomin-ui-MacBookPro 0901 % git remote -v 
origin  https://github.com/minjo1234/git-test.git (fetch)
origin  https://github.com/minjo1234/git-test.git (push)


이렇게 입력창이 나온다면 원격 저장소로 인식되어서 로컬 저장소에 존재하는 파일들을 원격 저장소에 올릴 준비가 된 것 입니다 .

✓ 4. 로컬 저장소에 있는 파일을 원격 저장소 (Github에 올리기)

세 가지 코드가 필요한데요

git add . -> 전체파일입력
git add githubtest.py -> githubtest.py 파일입력 
git commit -m '15:00 githubtest.py 파일등록'  -> -m 다음에는 수정이 되었거나 파일을 생성하였다면 해당하는 내역을 적어주시면 좋습니다 
git push origin branch_Name -> 저는 0901로 진행했지만 처음이시라면 
main 으로 진행하셔도 됩니다.

필자는 편의를 위해서 git add . 으로 진행했습니다 .
코드 입력창 --> 
(base) jomin@jomin-ui-MacBookPro 0901 % git add .
(base) jomin@jomin-ui-MacBookPro 0901 % git commit -m '15:09 githubtest.py등록'
[0901 ca54f4b] 15:09 githubtest.py등록
 2 files changed, 1002 insertions(+), 1165 deletions(-)

5. ✓ github들어가서 확인 !!

짠 ! 여기보시면 githubtest.py 와 여러가지 파일이 업로드 된 것을 확인할 수 있습니다 !!
github에 파일을 업로드 하셨다면 오늘 결과적으로 어떤 일들을 진행하신건지 이해가 필요하시겠죠 ??

오늘한 일 요약
1. github이란 원격 저장소이다 .
2. github의 원격저장소의 정보를 가져오고 내 컴퓨터를 로컬 저장소로 인식시켰다.
3. 내 컴퓨터(로컬 저장소)에 있는 파일들을 github(원격 저장소)에 업로드했다
그 때 사용하는 명령어들이 git init , git remote , git add . git commit ~등등이 존재한다 . 끝!!!

profile
항상 성장하고 있는 개발자입니다!

0개의 댓글