부트캠프/멋쟁이 사자처럼

3+DAY_멋사 프론트엔드 부트캠프 14기_TIL

NamDoHyeon 2025. 4. 23. 17:51

What I Learned Today

요즘은 CLI와 GUI를 통한 Git 사용법에 대해서 배우고있다.

 

오늘 오전에는 git init, git add, git commit을 배웠다.

#일반 디렉토리를 Git 디렉토리(로컬 저장소)로 초기화 시키기
git init

#로컬 저장소에 있는 파일들을 staging 하기
git add

#git add를 통해 stage에 들어간 파일들을 index로 옮긴다.
git commit -m "커밋 메시지"

오후에는 branch와 merge, checkout, clone, push, pull을 사용하는 방법을 배웠다.

#브랜치를 만들고 싶으면
git branch -c 브랜치명

#브랜치를 바꾸고 싶다면
git switch 브랜치명

#하지만 만들고 따로 들어가기 귀찮다면 한번에 하는 방법이 있다.
git switch -c 브랜치명
#또는
git checkout -b 브랜치명

#브랜치를 삭제하려면
git branch -d 브랜치명1 브랜치명2 .. .. ..

#브랜치를 병합할때 사용하는 명령
git merge 브랜치명

#특정 커밋으로 이동
git checkout HEAD~HEAD로 부터 이동할 브랜치의 순서

#깃에서 특정 repo를 통째로 가져옴
git clone 주소

#로컬 저장소에 commit 되어있는 파일을 깃에 올리려면
git push

#깃에서 변경된 파일들을 가져오려면
git pull

 

The Problem I Faced

브랜치의 존재 이유가 무엇인지 모르겠고 이해가 잘 안됐다.

Fast-Forward merge, 3-way merge 등..

 

What I Tried to Do

쉬는시간에 배운 내용을 생각하며 검색도 해보고 그림도 그려보았다.

 

How I Solved It

그림을 그려가며 천천히 생각하니 해결되었다.

Fast-Forward merge

Fast-Forward merge는 기존 main 가지에 다른 브랜치의 커밋을 추가

3-way merge

3-way merge는 새로 생긴 브랜치의 커밋들을 선택하거나 병합한 후 기존 main 가지에 추가

 

So

 

Aha Moments

나는 원래 Git을 사용할때 터미널을 이용해서 사용했었다.

자주 사용하는 명령어를 빼고는 매번 검색해서 사용했었는데 이번 수업을 통해 GUI를 사용하는 방법을 알았다.

VS Code 좌측 패널

좌측 패널의 3번째 깃 아이콘을 누르면 다양한 기능을 클릭 한번으로 사용할 수 있다.

 

그리고 명령어에서 -와 --의 차이를 찾아볼 생각도 안했는데 이 둘의 차이는 약자와 풀네임의 차이다.

예) -v / --version

 

merge를 사용할때 나오던 메시지들이 오류가 아니고 머지의 방식이었다는게 충격이었다...

merge는 main에 중요한 코드를 넣어두고 새로운 브랜치를 만들어 main의 파생 코드를 만들고

마음대로 수정하다가 그 코드가 마음에 들면 병합을 할때 사용한다.

 

--250424--

팀원들과 함께 공부하다가 알아낸 충격적인 사실

#커밋에서 삭제
git rm --cached 파일명

#스테이지에서 삭제
git restore --staged 파일명

#이전 커밋 상태로 만들기
git restore 파일명

 

반응형