왕초보를 위한 Git & gitHub 가이드


git을 처음시작할때 너무 어려웠죠
좋은 책을 보고 공부해서 쉽게 배웠습니다.
깃 완전 초보자를 위한 포스팅입니다.

Git Guide

깃(git)이란 ? 분산 버전 관리 시스템으로 빠른 응답성과 브랜치 관리의 편리함등의 장점이 있다. 또한 gitHub와 같은 서비스로 프로젝트 협업이 쉬워지게 되었다.

gitHub : git은 개인컴퓨터(로컬)에서만 사용 가능하지만 이것을 클라우드 서버에 연동 시켜 팀 프로젝트를 편리하게 진행할 수 있다. 이러한 git을 클라우드 서버에 올려둘 수 있는 사이트중 하나가 gitHub이다.

오픈소스: 이러한 gitHub의 장점을 이용하여 시간,공간 제약없이 누구든지 같이 개발 할수 있는 공개 저장소 프로젝트

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled.png

.

이 페이지는 ‘한빛미디어 출판 <팀개발을 위한 Git , GitHub 시작하기> 정호영,진유림저 ‘ 를 읽고 정리하는 식으로 작성 되었습니다

  1. 설치

windows는 git bash 프로그램을 다운받아서 사용합니다. https://git-scm.com/download/win

⇒디폴트값으로 next눌러서 진행

유닉스/리눅스 기반 OS(우분투,맥)는 터미널을 사용하면 됩니다.

2.로컬 저장소 만들기

쉬운 이해를 위해 예를 들어 설명합니다. 우리는 iTshirt라는 프로젝트를 진행한다고 가정합니다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%201.png

프로젝트 디렉토리(폴더)에 README 텍스트파일 생성합니다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%202.png

프로젝트 디렉토리에서 마우스 우클릭 후git bash here을 통해서 git bash를 실행 합니다.

$git init을 통하여 로컬저장소 생성 ( git 초기화 명령어) 프로젝트 디렉토리 안에 [.git]이라는 폴더 생성확인 ⇒ 프로젝트 디렉토리에서 버전관리가 가능해짐

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%203.png

git init
  1. 커밋

: 생성된 각 버전

README.txt 파일을 하나의 버전으로 만들기 예제

1) 버전 관리를 위한 내 정보 등록

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%204.png

git config --global user.email "16ming99@gmail.com"
git config --global user.name "16min99"

위의 명령어 대로 깃허브 이메일, 이름 등록

2)커밋에 파일 추가

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%205.png

git add README.txt

추가로 커밋에 상세 설명(주석)을 적을 수 있음.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%206.png

-m 옵션은 message의 약자

git commit -m "설명 추가"

⇒이렇게 첫 번째 버전(커밋)이 생성됨

3) 두번째 버전 만들기

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%207.png

‘짱짱’ 이라는 단어를 추가한 버전을 만들기위해 README파일 수정 후 저장

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%208.png

git add README.txt
git commit -m "설명 추가 업데이트버전1"

마찬가지로 add하고 설명추가 ⇒ 두 개의 버전(커밋) 이 생성됨

4) 다른 버전(커밋)으로 되돌리기
README의 예전버전을 찾아서 이동 할 수 있음

현재 README.txt 파일의 내용은 두 번째 만들었던 ‘설명 추가 업데이트버전1’ 커밋 이고 내용은 ‘개발자 티셔츠 쇼핑몰 오픈소스 짱짱’ 이다. 이 상태에서 ‘짱짱’이 없는 이전버전으로 돌아가보기

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%209.png

git log

git log명령어로 커밋 아이디 확인

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2010.png

git checkout 5c75b8c

git checkout (커밋아이디 앞자리 7자리만 입력해도 됨) ⇒자동으로 README.txt 내용이 첫 번째 버전으로 변경됨

+최신 버전으로 변경하기

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2011.png

git checkout -

git checkout - 는 최신버전으로 다시 변경해줌

4.GitHub 원격저장소에 커밋 올리기

로컬저장소(내컴퓨터) ↔ 원격저장소(클라우드)(레포지토리,Repository)

1)GitHub 로그인 https://github.com/

오른쪽 상단 +버튼 , New repository 선택

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2012.png

다음과 같이 작성 후 create repository

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2013.png

2)GitHub에서 내 레포지토리 접속하기 https://github.com/사용자이름/원격저장소이름 예 : https://github.com/16min99/iTshirt

⇒ 협업 팀원들은 해당주소에 접속가능

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2014.png

빨간 칸을 클릭하여 쉽게 복사가능

3)Repository(원격저장소)에 커밋 올리기 GitHub에 만들어 놓은 원격저장소 [iTshirt]의 주소를 로컬저장소 [iTshirt-cat]에 연결

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2015.png

git remote add origin https://github.com/16min99/iTshirt.git

로컬저장소에 있는 커밋을 원격 저장소에 push (업로드)

git push origin master

해당 명령어를 통해서 로그인 ( 명령어 설명은 나중에 설명함)

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2016.png

순서대로 진행하면 됩니다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2017.png

위와 같은 창이뜨면 GitHub의 원격저장소를 확인하면 다음과같이 README.txt 파일이 업로드 된 것을 확인할 수 있다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2018.png

위와같이 로컬 저장소에서 원격저장소에 커밋을 업로드 하는 것을 push 한다고 함.

5.원격 저장소의 커밋을 로컬 저장소에 내려받기

1) 클론 클론이란? 원격저장소의 코드와 버전(커밋) 전체를 내려받는 것으로 클론을 하게되면 최신 버전뿐만 아니라 저장한 이전 버전들과 원격저장소 주소등 모든것이 내 컴퓨터의 로컬저장소에 저장된다.

먼저 디렉토리(폴더)를 생성하고 마찬가지로 bash프로그램을 실행한다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2019.png

4절에서 원격 저장소의 주소를 복사한다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2020.png

bash에서 다음과 같이 명령어를 실행시킨다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2021.png

git clone https://github.com/16min99/iTshirt.git .

이 때 맨 마지막에 한 칸 띄고 . 을 빼먹지 않도록 해야한다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2022.png

클론이 완료 되었다.

2) 다른 팀원 입장에서 새로운 커밋을 올리기 클론된 프로젝트의 README파일을 다음과 같이 수정한다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2023.png

4절에서 배운 같은 명령어 3줄을 입력해서 push한다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2024.png

git add README.txt
git commit -m "개발자 목록 추가"
git push origin master

GitHub의 원격 저장소에 들어가서 새로고침을 하면 업데이트 된 것을 확인 할 수 있다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2025.png

  1. 원격저장소의 새로운 커밋을 로컬저장소에 갱신하기 (cat의 로컬 저장소에 oct가 원격저장소에 업데이트한 커밋 내려받기)

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2026.png

⇒아직 cat의 로컬저장소에는 개발자 목록이 업데이트 되지 않았다.

cat의 bash에서 해당 명령어를 통하여 pull(당겨오기,업데이트)

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2027.png

git pull origin master

아래처럼 cat의 로컬저장소에도 업데이트 된것을 확인할 수 있다.

/assets/img/post_img/2021-04-02-etc-etc-git1/Untitled%2028.png

이때 마찬가지로 파일의 내용만 업데이트 되는것이아니라 처음에 버전관리로 저장된 버전에 대한 정보도 같이 업데이트 되기때문에 이전버전으로 돌릴 수 있다.

기본적으로 내 컴퓨터에 로컬저장소를 만들고,
커밋을 생성하고,
커밋을 원격저장소에 올리고,
원격저장소에 올려진 커밋을 내려받는
기본적인 방법은 모두 배웠습니다.!

용어 요약 git : 버전 관리 시스템
GitHub : Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트
GUI : 그래픽 유저 인터페이스, 마우스로 사용하는 방식
CLI : 커맨드 라인 인터페이스, 명령어를 하나씩 입력하는 방식
Git Bash : CLI 방식으로 Git을 사용할 수 있는 환경
커밋 : 버전 관리를 통해 생성된 파일, 혹은 그 행위
체크아웃 : checkout으로 원하는 지점으로 파일을 되돌리는 것
로컬저장소 : Git으로 버전 관리하는 내컴퓨터 안의 폴더
레포지토리: 원격 저장소
푸시 : 로컬저장소의 커밋을 원격저장소에 올리는 것
: 원격저장소의 커밋을 로컬저장소에 내려받는 것




© 2021.03. by mk