지옥에서 온 Git 수업 파트 1,2

박경현·2023년 5월 5일
0

git을 알지만 push commit add 등을 제외하고는 잘 안써봐서 제대로 알지 못하는 상태였다

그래서 이번에 인프런에 깃 무료 강의가 있어서 들어보게 되었다!!

스스로 공부한 내용들을 점검하면서 돌아보자!!

분산 버전 관리 시스템 - DVCS

간단하게 말하면 우리 로컬에도 히스토리를 전부 가지고 있는걸 말한다!

중앙 집중관리의 경우 중앙에 모여있는 내용들만 빼와서 사용하는데 이건 문제가 생긴다

만약 A가 '가'라는 내용을 바꿔버리면 B는 '가'의 예전 형태를 다운 받지 못하게 되는 문제가 있다!!

하지만 DVCS의 경우 로컬에 히스토리를 저장하고 있어서 만약 그 전의 '가'의 내용을 알고 싶다면 언제든지 알 수 있고 수정도 가능하다!!

add, commit의 차이! -> 이게 핵심!

git add 는 트리 형태에 임시 저장하는 것이다

git add라는 명령어는 세상 많이 사용하는 명령어인데 이건 영구저장이 아닌
트리에 잠시 저장할때 사용한다!!

add의 경우 각각 add한 부분들을 폴더 형태로 가지고 있어서 수정 및 삭제 롤백등에 용이하다!

git status로 상태 변경 있는지 확인하고 언제든지 git add 하면 됨

git commit은 영구저장

Branch에서 관리를 하며 헤더 영역에 넣어진다!
작성시 git commit -m "first" 등 의 메시지와 함께 적는 것이 국룰이다!

커밋 내용을 되돌리고 싶을때 사용하는 명령어 -> reset, amend

amend는 지금의 헤더부분 커밋 메시지 바꾸고 싶을때 사용하자!

git commit -m "fi" 라고 맨 처음으로 commit을 하고 난 뒤

commit 메시지를 바꾸고 싶다면 git commit --amend -m "first"로 바꾸면 된다!

reset의 종류 (soft, mixed,hard) -> hard에 중점!

soft - 현재 헤더에서 다른 부분으로 돌아가기! -> commit이 달라짐

soft는 reset중에서 가장 약하게 변경하는 부분인데

git reset --soft (바꾸고 싶은 파일의 해쉬명 -> git log로 확인 가능!)

이렇게 변경하면 commit부분의 헤더가 다른 부분으로 달라진다

mixed, hard -> hard가 중요!(전부 삭제!)

mixed는 add부분까지 삭제하는 명령어이다 -> 즉 파일은 존재하지만 git에 올라간 부분들을 삭제하는 것이다!

그럴바에는 그냥 다시 추가 add하든가 하면 되므로 잘 안 씀

hard는 하게 되면 그전으로 완전히 되돌아기기때문에 파일이 있었다면 같이 삭제된다

git leflog -> 모든 로그 부분 보기 가능! (히스토리 보는 재미)

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글