git(2) - 버전 생성

김동하·2020년 9월 29일
0

git

목록 보기
2/3

git add를 통해 골라서 commit

cp f1.txt f2.txt

f2.txt란 파일을 카피해서 생성한다.

두 개 파일 생성 확인! 물론 f2는 add를 안 했으니 추적이 안 되고 있을 것이다. add를 하고 commit까지 하면

이제 로그를 확인해보면

이제 f1와 f2 모두 수정할 것이다.

이제 중요한 것은 왜 git에서 add를 해야하는가다. 커밋 하나는 하나의 작업을 담고 있는 것이 이상적이다. 하지만 대부분 그렇지 못하다. 커밋 시기를 놓치면 많은 작업을 담은 버전 하나를 만들어야 한다. 이때 깃은 add라는 과정을 통해 우리가 커밋하고자 하는 것만 골라서 커밋이 가능하다.

f1.txt만 add한 상태에서 commit을 하고 status를 확인하면

add 하지 않은 f2 만 보여준다. add는 commit 대기 상태에 들어가는 것! 대기 장소를 stage area라 부른다.

버전 관리 이점

버전 간 차이점을 알 수 있고 과거로 이행이 가능하다.

git log -p

커밋 사이의 소스간 차이점을 확인할 수 있다.

초록색은 변경 후 빨간색은 변경 전... 더 이상 자세한 설명은 생략한다..

git diff

특정 커밋과 커밋 사이 차이점을 알고 싶다면 커밋 아이디(문자 숫자 조합된 긴 문자열)를 명령어에 입력해서 확인 할 수 있다.

f1를 수정후 git diff를 해보면

내가 방금 수정한 작업을 알 수 있다. commit전 내가 작업한 것을 리뷰해볼 수 있다. commit 하면 diff해도 아무것도 안 나온다.

commit 취소

현재 커밋을 취소하고 과거 커밋으로 가는 방법으로 reset과 revert가 있다.

git reset

여태까지 총 5번의 커밋이 있었는데 그 중 최근 두 개의 커밋을 삭제한다고 하자. 그럼 일단 삭제 후 최근 커밋이 될 커밋의 아이디를 가져온다. git reset b4f609f91b24a94edb04258847e89a4480674158 --hard를 터미널에 입력한다.

커밋이 3개로 줄었다!

주의사항으로 레파지토리에 코드를 공유하고 reset을 하면 안 된다. 로컬에 있는 버전만 reset 해야 한다.

git revert

커밋을 삭제하는 것이 아니라 없애면서 없앤 새로운 버전을 생성하는 것이다(기점에서 분화된다라고 이해함)

도움되는 명령어

git commit -a

수정한 것들 모두 commit 해버린다.

git commit -am

커밋 메시지를 에디터 없이 명령어에서 작성하겠다는 뜻이다.

출처 : https://www.youtube.com/watch?v=Qp927R-Xu1c&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk&index=10

profile
프론트엔드 개발

0개의 댓글