Git
컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간에 해당 파일 작업을 조율하기 위한 대표적인 버전관리 시스템(VCS)
1. git의 특징
- 폴더 단위로 관리
- git에 대한 모든 정보는 .git 폴더(숨김폴더)에 존재
- 커밋은 로컬 컴퓨터에서만 일어나는 행위
- 깃 허브는 로컬에 있는 깃 정보를 온라인에 저장하여 주는 서비스를 제공 (깃헙에 모심기)
- 깃 허브의 repository는 로컬 폴더와 같다
2. git 설치 - macOS 의 경우 homebrew -> brew install git
3. github Desktop https://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 하거나/ 커밋할 사항이 없는지)
4) git log : 그간 커밋한 히스토리를 확인할 수 있음
7. VSCode 소스제어탭에서 간편하게 git 사용 가능
VSCode 상에서 간단하게 커밋 가능 (기능이 제한)
변경 사항 탭에 + 가 add 인 것이고
메시지 부분에 커밋 메시지를 입력하고 소스 탭의 ✔️ 부분으로 커밋한다
8. git desktop 사용법
+ github 꾸미기
file > add repository (이미 .git 폴더가 있는 경우 없다면 new repository)
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 해주면 커밋했던 내용들이 알아서 원격 서버에 올라가게 된다.
'학원에서 배운 것 > Git & GitHub & GitHub Desktop' 카테고리의 다른 글
KDT 5th 웹개발자 입문 수업 19일차 - 1 (0) | 2023.02.21 |
---|---|
KDT 5th 웹개발자 입문 수업 18일차 - 1 (0) | 2023.02.20 |
KDT 5th 웹개발자 입문 수업 7일차 - clone (0) | 2023.02.03 |
GitHub 프로필 꾸미기 2 (0) | 2023.01.29 |
Github 꾸미기 시작 (0) | 2023.01.28 |