Github 기본 개념 및 명령어

전서희·2022년 3월 31일
0
post-thumbnail

개발자라면 피해갈수 없는 github... 개념정리도 확실히 해보고 어떻게 명령어 쓰는지도 알아보자!
나는 처음 배울 때 무작정 프로젝트 들어가서 같이 플젝하는 분께 배워서 왕도 없이 이것저것 하면서 배웠다... 왜 쓰는지 이유도 모른채 그냥 해야된다고 해서 급하게 배웠던 지라 정말 어렵게 배웠던거같다.
이번에 참여하는 교육에서 처음부터 차근차근 알려주셔서 기본부터 시작하는 마음으로 다시 배워보기로 !

가장 중요한 기본 명령어

오늘 딱 이 명령어 4개만 알고 가면 된다! 했을 때 필요한 명령어는
1. git pull (받아오고)
2. git add . (추가하고)
3. git commit (올리고)
4. git push (내보내는 것)

그림으로 보면 이해가 좀 더 쉬운데 이렇게 4가지는 꼭 알아야 한다. 기본 중에 정말 기본!
이런 명령어들은 맥 유저라면 터미널 창이나 vs 터미널에 입력해야 하는데, 어렵다고 외면하지말고 한번 해보자!
지금 안하고 GUI로만 배우게 되면 나중에 배울 때 더 어렵다고 한다. 그리고 GUI로는 모든 명령어를 다룰 수 없어서 결국에는 CLI로 돌아오게 된다고 하셨다. 그러니 다들 도전도전!!

Git 과 같은 형상관리도구를 사용하는 이유

그렇게 어렵다는데 배우는 이유는 뭔데?!
git을 배우지 않으면 더 어려워진다.


다들 이런 사진 본적 있을 것이다... 최종 파일이 무엇인지, 언제 누가 무엇을 수정했는지 전혀 관리가 되고 있지 않다.
이렇게 많은 수정 파일을 정리해주는 것이 git이다!
함께 작업할 수록 이런 버전 관리가 필수이다. (내가 저학년 시절 디자인 배울 때,,,피그마를 많이 사용하지 않던 시절,,, 팀플 할 때 포토샵 파일, ppt 파일 수정본만 맨날 나와서 카톡창 용량이 꽉 찼던 기억이 있다. 개발할 때 Git이 없었다면 각자 작성했던 코드를 계속 카톡창에 보내며 복붙의 연속을 하지 않았을까 한다... git 배우기 어렵지만 안배우면 내 인생이 더 힘들어진다.)

Git의 장점

  • 유지보수

  • 저장 용량

  • 언제 어떤 코드가 수정되었는지 확인(추적관리)

  • 코드 공유(코드 저장)

  • 버전 관리

    Git? Github?

    일단 Github(깃허브)를 이해하려면 Git(깃)이라는 프로그램을 알아야 한다. Git은 버전 관리 도구 중 가장 선호도가 높은 프로그램이다.

Git은 로컬 저장소(내 컴퓨터)와 원격 저장소(서버 컴퓨터)로 나뉜다. 내 컴퓨터에서 작성한 프로젝트를 원격 저장소에 저장해두고, 만약 내 컴퓨터의 프로젝트가 손상되거나 다른 컴퓨터에서 코드를 가져오고 싶을 때는 원격 저장소에서 바로 가져올 수 있다. 이때, 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git이 "버전 관리 도구"라고 불린다.

Git에서 원격 저장소는 코드의 원본이나 변경 내역을 저장하는 매우 중요한 역할을 한다. 이러한 기능을 하는 툴을 형상 관리(Configuration Management) 툴이라고 한다. Git, SVN, CVS등에 툴이 있고 현재 가장 많이 사용되고 있는 것이 Git이다.

이러한 Git을 클라우드 환경에서 사용할 수 있게 제공하는 공간이 GitHub이다.

Git으로 commit 한번 해보자!

추가하고 커밋하기(add, commit)

  • 파일을 생성(touch), 추가(add) 하고 커밋(commit)하기
$ touch README.md //README.md 파일을 생성하고
$ git add README.md //README.md 파일을 추가하고
$ git commit -m "first commit" //커밋메세지를 담아서 커밋

커밋 히스토리 조회하기

  • 최근 커밋한 히스토리를 확인할 수 있다.
$git log

저장소에 무시할 파일 설정하기(gitignore)

비밀번호가 담긴 파일 등은 push 하면 위험하기 때문에 제외하고 올려야 한다. 그 외에도 사용자가 저장소에 저장하고 싶지 않은 파일들을 관리하기 위해서는 .gitignore 파일을 생성해서 추가해주거나 .gitignore 자동생성기를 활용하면 된다.

gitignore파일 자동 생성해주는 사이트: gitignore.io

Github 에 파일 올려보기

$ echo "# githubtestrepo" >> README.md 
// README.md 파일에 githubtestrepo 작성하기
$ git init 
// git 로컬 저장소 만들기
$ git add . 
// 모든 파일 추가하기( .은 전체 파일이라는 뜻, 한가지 파일만 올리고 싶다면 해당 파일명 작성)
$ git commit -m "first commit" 
// "first commit"이라는 메세지를 담아 커밋하기
$ git branch -M main 
//main 브랜치로 이동하기(m은 동알한 이름의 브랜치가 있더라도 덮어쓰게 해주는 기능)
$ git remote add origin 깃헙레포지토리 주소 
// 원격 저장소 추가하기(깃허브 레포지토리랑 내 로컬 환경 연결하기)
$git push -u origin main 
// origin(원격 저장소)의 주소 안에 있는 main(현재 브랜치)에 push 하기

전체적인 틀은 위와 같다.
중요한 명령어 위주로 하나하나 다시 살펴보자.

1. git clone

  • 원격 저장소의 코드를 컴퓨터에 받아올 수 있다. 새 작업 디렉토리 만들고(mkdir 명령어) 생성한 디렉토리로 이동(cd 명령어)한다.
  • https:// ~ 주소에 있는 코드들을 복제해온다.(clone 명령어)
$ mkdir filename
$ cd filename
$ git clone https://github.com/id/clone-filename.git .

2. git pull

  • 원격 저장소에 업데이트 된 데이터를 가져오고 병합할 때 사용합니다.
$ git pull origin main

3. git add, git commit, git push

  • 이미지 파일을 다운로드 받은 곳에 올리고 아래 명령어를 입력해주세요.
  • 권한이 주어진 경우에는 소스코드 수정 후 커밋과 푸시하기
$ git status
$ git add .
$ git commit -m "추가 작업 내역입니다."
$ git push origin main

git push password 에러

  • push 할 때 다음과 같은 에러가 뜰 수 있습니다. 2021년 8월 13일부터 비밀번호 인증 지원을 사용하지 못하도록 보안 업데이트가 되었기 때문입니다.

remote: support for password authentication was removed on august 13, 2021. please use a personal access token instead.

  • 이거 때문에 마지막에 오류가 나긴 했는데, 이전에도 한 번 만났던 오류였는데 토근 기한 설정해버려서 작년 12월 말에 끝났었다. 그래서 다시한번 들어가서 인증했다.

이제부터 다들 깃잘알 되보자구요~~

profile
UX디자인을 배우다 코딩의 매력에 흠뻑빠져 프론트엔드 개발자가 되고자 하는 코린이

0개의 댓글