본문 바로가기
학원에서 배운 것/Git & GitHub & GitHub Desktop

KDT 5th 웹개발자 입문 수업 2일차 -2

by 쿠리의일상 2023. 1. 27.

Git

컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간에 해당 파일 작업을 조율하기 위한 대표적인 버전관리 시스템(VCS)

 

1. git의 특징

- 폴더 단위로 관리

- git에 대한 모든 정보는 .git 폴더(숨김폴더)에 존재

- 커밋은 로컬 컴퓨터에서만 일어나는 행위

- 깃 허브는 로컬에 있는 깃 정보를 온라인에 저장하여 주는 서비스를 제공 (깃헙에 모심기)

- 깃 허브의 repository는 로컬 폴더와 같다

 

2. git 설치 - macOS 의 경우 homebrew -> brew install git

3. github Desktop https://desktop.github.com/

 

GitHub Desktop

Simple collaboration from your desktop

desktop.github.com

------- 여기까진 설치

 

4. git 초기 설정

1) git init : 깃을 사용하기 위한 git 폴더 생성 (git이 해당 폴더의 변경되는 부분을 확인하기 시작)

  .git 폴더 보기 : cmd+shift+. 으로 숨긴파일 볼 수 있음

2) git config --global init.defaultBranch main : 브랜치 명은 master 대신 main으로 설정해주는 코드

3) git config --global core.autocrlf input : Mac의 경우, LF만 사용하기로 지정 -> 개행문자 관련 처리가 윈도우와 다르므로 설정 필수

4) git config --global user.name "프로필이름"

git config --global user.email "이메일주소" : 깃에 올릴 때 사용될 이름과 이메일

5) git config --global --list : 1~4번까지 세팅한 정보를 확인 가능함

 

 

5. 터미널 명령어

- cd 폴더명 : 폴더로 이동 (cd .. : 상위 폴더로 이동)

- ls : 폴더, 파일 목록 

- clear

- :q/:wq : 종료/저장하고 종료

인식할 수 있는 문자열 입력 후 tab 누르면 자동 완성

이미 썼던 명령어를 다시 사용하고 싶을 때 위아래 방향키 사용

 +zsh/터미널 꾸미기 (참고: https://youtu.be/mpea_CtJWyI)

 

6. commit? git 명령어

1) git add 변경된 사항 ( git add . : 해당 폴더의 모든 변경 사항) : 변경 사항을 staging area에 올림

2) git commit -m '커밋메세지' : add 했던 변경점들을 내 컴퓨터(로컬 repo)에 commit

3) git status 로 깃 상태를 실시간으로 확인 가능 (add, commit 하거나/ 커밋할 사항이 없는지)

변경 사항이 있는데 add가 안된 경우
add 후 commit 하라는 안내 사항
변경 사항이 없는 경우

4) git log : 그간 커밋한 히스토리를 확인할 수 있음

 

 

7. VSCode 소스제어탭에서 간편하게 git 사용 가능

추가된 부분 : 초록

VSCode 상에서 간단하게 커밋 가능 (기능이 제한)

변경 사항 탭에 + 가 add 인 것이고

메시지 부분에 커밋 메시지를 입력하고 소스 탭의 ✔️ 부분으로 커밋한다

 

8. git desktop 사용법

+ github 꾸미기

file > add repository (이미 .git 폴더가 있는 경우 없다면 new repository)

기본 화면
변경 사항 확인 및 History

file > new repository 로 만들 때, name 영역에는 만들어줄 폴더명이 되고 path 는 그 폴더를 둘 경로를 지정하는 것

 

 

9. github 으로 new repository

echo "# git-test" >> README.md
git init
git add README.md
git commit -m "first commit"

// 브랜치명을 main으로 설정
git branch -M main

// 원격 저장소를 연결해주기 위한 설정 - origin이란 별칭으로 원격 저장소를 연결
git remote add origin https://github.com/guseulgi/git-test.git
// origin 으로 push
git push -u origin main

- 새로 저장소를 만들 때 입력해줘야할 커맨드 라인을 깃헙에서 안내

 

 

- 이미 repository를 가지고 있다면,

git remote add origin https://github.com/guseulgi/git-test.git
git branch -M main
git push -u origin main

 

 

 

10. push?

local repository -> remote repository

로컬 내 컴퓨터에 작업한 내용(커밋 내역)을 원격 컴퓨터(서버)로 올려주는 것 - 깃헙 모심기

 

git이 관리하는 폴더 하나(프로젝트) : github repository 하나 = 1 : 1  관리 하는 것을 권장

 

macOS에서 Access Token을 생성해서 키체인으로 미리 연동시켜놔야함.

Access Token은 repo 부분으로만 사용할 것이므로 해당 내용만 체크

 

 

 

 

---- 정리

Git 사용하기

1. 새로운 저장소 만들기

원하는 작업 폴더를 만들고 그 안으로 cd 명령어를 사용하여 이동한 뒤, (또는 폴더를 지정해준 뒤) git init을 사용하여 새로운 git 저장소를 만들어준다. - git 폴더가 생김

github에서 새로 만들어준 repository를 사용해야 하므로 만들어준 repo의 기본 셋업을 복사해서 붙여넣기 해줘도 된다

1-2. 저장소 받아오기

로컬 저장소를 clone 하려면 git clone /로컬저장소경로

원격 저장소를 복제하려면 git clone 사용자명@호스트: /원격저장소경로

 

작업의 흐름

로컬 저장소는 1) 작업 디렉토리(working directory) 2) 인덱스(Index) 곧 준비영역(staging area) 3) HEAD 최종 확정본

Working dir add -> Index commit
->
HEAD

추가와 확정

변경된 파일은 git add 파일명 / git add . 로 작업 디렉토리에서 인덱스로 추가할 수 있음

실제로 변경 내용을 확정하기 위해선 git commit -m "메세지" 로 인덱스에서 HEAD로 반영시킴

다만 add 와 commit은 로컬 저장소에만 저장된 것이므로 원격 저장소에 반영시켜야한다.

변경 내용 발행하기

현재 변경 내용은 로컬 저장소의 HEAD에 존재하므로 got push origin master 로 원격 서버에 올릴 수 있다. (다른 브랜치를 발행하려면master 대신 변경)

기존에 있던 원격 저장소를 복제한 것이 아니라면 원격 서버의 주소를 git에게 알려줘야 함

git remote add origin 원격서버주소 로 서버랑 연결해줘야 한다

그 뒤로는 git push 해주면 커밋했던 내용들이 알아서 원격 서버에 올라가게 된다.