Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
General/Git, GitHub

1. 로컬 프로젝트를 GitHub에 푸쉬하는 방법 (Git, GitHub란?)

by Toughie 2023. 2. 8.

로컬 저장소(내 컴퓨터)에서 프로젝트를 만들고 나서,

GitHub에 어떻게 올리는지 간략하게 정리해보자.

 

협업을 위해서 GitHub에서 함께 작업하는 경우가 많기 때문에

Git, GitHub 사용법을 익히는 것은 필수소양!

* Git과 GitHub는 다른 것이다!

Git은 VCS(version control system)로 쉽게 말하면 버전 관리 시스템, 혹은 형상 관리 시스템이다.
터미널에서 실행하는 그 Git!

게임이나 프로그램을 보면 버전 2, 버젼 3 라고 적혀 있는 것을 본 적이 있었을 것이다.

앱 업데이트를 하다 보면 새로운 업데이트(새로운 버전)이
항상 이전 버전보다 좋다는 보장이 없다는 것을 자주 느껴봤을 것이다 ㅎㅎ
(필요 없는 기능이 추가 된다든가, 새로운 오류가 발생한다든가)

개발을 하다보면 위와 같은 경우가 굉장히 자주 발생한다.
기능을 다시 복구시키거나, 오류가 발생해 이전버전으로 돌아가야 한다거나.

VCS를 사용하면 위와 같은 문제를 해결할 수 있고, 무엇보다도 아주 멋지게, 효율적으로 파일을 관리할 수 있다.
특히 협업에서 큰 힘을 발휘한다. 

VCS가 없다고 생각하고, 다른 사람과 피피티 파일을 하나 만든다고 상상해보자.
메신저나 드라이버를 통해 파일을 공유해야 할 것이고, 파일들을 여러개 복사해서 나눠 작업해야 할 것이다.
또 서로 '같은 부분을 바꾸는 경우'도 생길 것이다(추후 '컨플릭트'라고 한다.)
(최종, 최최종, 최최최종, 원본 등 아수라장이 될 것이고..)

이외에도 수많은 문제들이 발생할 수 있는데, Git과 GitHub를 활용하면 우아하게, 오류 발생 가능성을 줄이고,
문제가 발생했을 때도 당황하지 않고 해결할 수 있다.
(언제, 누가, 어디에서, 어떤 부분을 변경했는지 전부 알 수 있다. 잡았다 요놈!)

장황하게 Git(버전관리시스템)이 무엇인지, 왜 쓰는지에 대해 알아봤다.
(Git 이외에도 다양한 VCS가 있지만 Git이 제일 유명하고 많이 쓴다.)

그러면 GitHub는? 
내 컴퓨터에서 작업을 하면 이는 로컬저장소(컴퓨터 디스크)에 저장된다.
이를 원격으로 확인하고, 저장하고, 타인과 공유하기 위해 서버에 올린다고 생각하면 된다.

즉 GitHub는 원격 저장소 ! (Remote)
(구글 드라이브 등에 사진 올리는 것도 원격 저장소에 업로드 하는 것이다.)

정리하자면 Git은 버전관리 시스템,
GitHub는 Git을 활용한 프로젝트를 올릴 원격 저장소 + 다양한 편의기능
정도로 이해하면 되겠다.

 

깃허브 - Repositories에 들어가 New를 선택하자.

새로운 레포지토리(원격 저장소)를 만들겠다는 뜻이다!

 

Repository name을 정해주자.

어떤 파일들이 있는지 단번에 알기 쉽게 정하는 것이 좋다.

 

접근 수준을 정해주자.

Public은 누구나 보고 다운 받을 수 있음.

Private는 나, 그리고 협업자들만 확인 가능.

 

* 중요한 부분

Add a README file은 체크 안 하는 것이 좋다.

원래도 체크가 안되어 있지만, 혹시 체크를 해서 README 파일이 생기면 귀찮아지기 때문이다.

README 파일은 말 그대로 읽어주세요. 사용 설명서. 이 파일이 어떤 것들인지?
마크다운 문법을 활용해 적는 파일이다.(메모장처럼)

 

원격 저장소에 로컬 파일을 올리기 위해

새로운 래포지토리를 만드는 과정이라는 점을 다시 생각해보자.

현재 내 컴퓨터에 프로젝트 파일에는 README 파일이 없을 것이다.

 

근데 저걸 체크하고 원격 레포지토리를 만들면

원격 저장소에는 README 파일이 생길 것이다.

 

자 내 컴퓨터에는 없는데 깃허브에는 있다.

여기서 충돌(컨플릭트)이 발생하는 것이다.

(어? 너 컴퓨터에는 README파일 없는데 원격에는 있어

이거 먼저 받아서 새로 하든가 해야 할걸?)

이런 느낌의 에러를 마주할 것이다.

그러니 체크하지 말자 ㅎㅎ..

 

리드미 추가는 추후에 아주 쉽게 가능하다.

 

자 이제 올릴 공간을 만들었으니 내 파일들을 올려보자.

터미널을 키고 내 프로젝트가 있는 경로로 이동해야 한다.
보통은 아래와 같은 코드를 입력하면 될 것이다.

cd desktop //cd는 Change Directory 즉 경로를 변경하겠다는 뜻이다.

cd 내 프로젝트 폴더명 //바탕화면에 있다는 가정이다. 다른 폴더속에 있다면 위 cd를 활용해 계속 타고타고 가주면 된다.

위의 과정이 너무 어렵고 귀찮다? 
내가 지금 올리고 싶은 폴더를 클릭하하고 cmd(커맨드)키를 누르고 터미널 위로 쇽 드래그하자.
그러면 바로 해당 폴더로 경로 이동이 된다.

그래도 조금은 cd를 활용하는 방법을 연습해 보는 것이 좋다고 생각한다.

이제 진짜 올려보자

그 전에 잠깐 복사 해둘 것이 있다.

아까 새로운 레포지토리를 만들면 위와 같은 화면이 나올 텐데

저 링크를 복사해둬야 한다. (현재 레포지토리의 주소다) 여기에 올려야 하니 주소가 필요한것.

자 링크를 복사했다면 다시 터미널로 가서

터미널에서 아래와 같은 코드를 입력해주자

git init //현재 폴더를 git으로 관리하겠다 .git파일을 만들겠다는 코드

git status //현재 git project에 어떤 변경점들이 있는지 확인하는 코드

git add . 
//위 status에 확인한 변경점들을 스테이징하는 코드(로컬 저장소와 원격 저장소 중간에 임시 공간이라 생각하면 편하다.)
// add 다음에 한 칸 띄우고 .을 찍어야 한다. (그래야 모든 변경 사항이 올라간다)

git commit -m "첫번째 커밋"
//커밋 커밋 할 때 그 커밋이 맞다. 내가 변경사항들을 확인했고, 도장을 쾅 찍는 느낌으로 이해하면 편하다.
//깃,깃허브는 커밋, 브랜치를 활용하여 이리저리 시공간을 이동하는데 이 커밋 단위로 움직이기 때문에
//커밋은 신중하게 잘 해야한다.
// -m은 message의 약자인데, 커밋을 할 때는 어떤 커밋인지 메세지를 남겨줘야 한다.
// 커밋 메세지 작성에도 규칙들이 있는데 이는 상황에 맞게 찾아보는것이 좋다.

git remote add origin 아까 내가 복사해둔 깃허브 주소
//원격 저장소를 정해주는 코드다. (어디에 올릴건지? )

git push --set-upstream origin main
//파일들을 원격 저장소로 밀어넣는(올리는) 푸쉬! 하는 코드다. (푸쉬 완료)

끝났다! 깃허브에 돌아가서 파일들이 잘 올라갔는지 확인 해보자.

깃과 깃허브는 기능도 엄청 많고, 파일이 복잡하고 많아질 수록,

또 협업 하면서 아주 다양한 문제들이 발생한다.

추후 나도 공부하다가 너무 어렵거나, 해결한 이슈가 있다면 공유할 수 있도록 노력해야겠다 🙋🏻‍♂️

'General > Git, GitHub' 카테고리의 다른 글

Git & Github 사용법  (0) 2024.03.16