[Git & Github 입문1] Today I Learned

Dongchan Alex Kim·2023년 1월 19일
0

git&github INTRODUCTION

목록 보기
1/3
post-thumbnail
post-custom-banner

날짜 : 2023년 1월 18일 수요일

📌 PLAN (~2/5)

  • 웹개발 종합반 강의 2회독 완료 → Velog 기술 블로그 정리까지 (1/25)
  • GIT & GITHUB 이해 및 사용법 숙달
  • 코딩테스트 맛보기
  • 토이프로젝트 맛보기

📌 WHAT TODAY?

GIT & GITHUB 시작.
GIT-DAY 1 : GIT이 뭔지 이해만 해도 넌 성공해라.
공부할 책: Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문
공부할 책 : Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문

  1. 깃의 목적
  • 버전 관리(version control), 백업(backup). 협업(collaboration)
  • 버전관리부터 순차적으로 배워야만 이해가 쉽다는게 저자의 주장이다.
  1. 깃 버전관리
$ mkdir hello-git 
$ cd hello-git	#hello-git 디렉터리로 이동
$ git init	#디렉터리(hello-git)에 저장소(repository) 만들기
$ ls -la	#.git 디렉터리 생성 확인(repositary)
  1. 스테이지와 커밋 이해하기
    깃의 디렉터리 관계도

  • 작업트리(working tree) : 걍 우리 눈에 보이는 디렉토리(파일 수정, 저장등 작업)

  • 스테이지 : 버전으로 만들(!) 파일들이 대기하는 곳 → 아직 정식수정 버전 아님! 버전으로 만들기 전에 한번 더 검토하는 곳.
1. commit 하기 전 파일들은 tracked 되지 않으므로 untracked로 판단
2. 한번이라도 commit되었다면, git에서 tracked하면서 수정여부를 확인

  • 저장소(repositary) : 스테이지에 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
1. 스테이지와 저장소는 눈에 보이지 않는다 → .git 안에 숨은 파일 형태로 존재(삭제실수 예방)
2. 파일수정 후 스테이지에 올라온 파일을 정식버전으로서 버전으로 저장하는 과정을 'COMMIT' 이라고 함.

  1. 깃 버전관리를 위한 리눅스 커맨드라인
$ git add (파일제목)	
#스테이징할 때 사용하는 명령어
$ git status	
#현재 깃의 작업상태 확인
$ git commit -m 	
#스테이징한 파일을 버전으로 저장소이동(commit)
#-m 옵션은 커밋하면서 함께 저장할 메세지 입력
$ git log	
#저장소에 저장된 버전을 확인
$ git diff	
#저장소에 있는 최신버전과 어떻게 다른지 확인
$ git commit --amend
#커밋 즉시 메세지 수정
$ git restore --staged (해당파일)
#스테이징을 취소 + --staged는 해당파일만 골라서 되돌리기
$ git reset HEAD^
#HEAD^는 HEAD가 가리키는 최신커밋을 의미(HEAD→main)
#main의 최신 커밋도 취소되고 스테이지에서도 내려옴(작업트리)
'''
스테이징만 취소시 → restore
커밋자체를 취소할 때에는 → reset
'''
$ git reset --hard (복사한 커밋 해시)
#특정 커밋으로 되돌리기
$ git revert (복사한 커밋 해시)
#커밋자체를 삭제하지 않으면서도 변경한 이력을 취소하기
'''
reset 명령시 → 되돌아갈 해시 복사
revert 명령시 → 취소할 커밋 해시 복사
'''

깃의 파일의 상태변화 관계도

  • git 안의 파일 상태에 따른 작업 디렉터리를 잘 이해하고 있어야 할 것 같다.
profile
Disciplined, Be systemic
post-custom-banner

0개의 댓글