[SeSAC DT 과정] git & github 사용

·2022년 2월 22일
0
post-thumbnail

git? 👀

버전 관리 도구 (VCS, Version Controll System)

  • 작업한 파일들을 원하는 버전(시점)으로 이동할 수 있게 해준다
    Cf ) Centralized version control : 서버에서 관리(서버 상태에 의존)
    ➔ 개선 Distributed version control : 모든 사용자가 버전을 가지고 있음
    💡 git!

  • GitHub, bitbucket 같은 클라우드 이용

github? 👀

원격 저장소(cloud)

git의 구조


이미지 출처: https://ndb796.tistory.com/187

  1. Working Directory -> untracked/ tracked 파일로 분리
    Tracked된 파일들은 unmodified/modified로 분리되고, modified 인 파일들만 add 할 수 있다. (Staging Area로 올려주기)

  2. Staging Area : 버전의 히스토리를 저장할 준비가 된 파일들을 옮겨두는 스테이지( 커밋 전 준비 단계)

  3. Git Directory(Local Repository, Remote Repository) : commit 명령어로 저장, 버전을 만든다.(깃 디렉토리에 버전 히스토리를 가지고 있는 파일로 저장)
    언제든지 checkout 으로 원하는 버전으로 돌아갈 수 있다.

git 기본 명령어

1️⃣ git 버전 관리 시작

git init 깃 초기화
git config —global user.name ”사용자이름”
git config —global user.email ”사용자 이메일”

2️⃣ 수정된 파일 stage로 올리기 -add

git add 파일명.확장자
git add (전부 추가- 삭제된 파일, 숨김 파일(.git과 같이 .으로 시작하는 파일, ) 제외)
git add . (전부 추가)
git add
.txt(txt 파일 전부 추가)

➕ ) git rm —cached (스테이지에서 내리기)
💡 unstage 단축어 생성 (더 직관적이고 간편하게!)
➔ git config --global alias.unstage 'reset HEAD --'

3️⃣ 깃 상태 확인, 수정 사항 확인 - status, diff

git status 깃 상태 확인

git diff 수정된 사항 확인

diff --git a/a.txt b/a.txt ➔ 수정된 상태가 있다
index 132e4bb..ed27c13 100644
--- a/a.txt ➔ 이전 상태
+++ b/a.txt ➔ 이후 상태
@@ -1,2 +1,3 @@ ➔ 이전 + 이후(세번째 줄에 수정사항 있다)
hello world!
-a
\ No newline at end of file
+a
+a 파일 수정
\ No newline at end of file

4️⃣ 수정 사항으로 버전 만들기 - commit

git commit : 보통 task 단위, 의미 있는 이름을 준다(동사 현재형 init, add, fix …)
git commit -m “커밋 메세지(add a.txt…)” ⭐️ 수정사항에 대한 커밋 메세지 꼭 적어주기!

5️⃣ 원격저장소로 올리기 - push

git remote add origin 주소 (해당 주소에 원격저장소 지정)
git push origin main

💡 branch명이 main이 아닌 master라면?
git branch -m master main (master에서 main으로 branch name 바꾸기)

profile
걸음마 개발 분투기

0개의 댓글