#2 Branch / Merge / Stash

JIY00N·2023년 1월 27일
0

Git

목록 보기
2/5

2023.01.27

0. 시작하기전

어제에 이어서 Git 공부를 하자
오늘은 Git원리, Branch, Stash에 대해 공부하자 :)

1. Git의 원리

2. Branch

git branch
=> * master - 현재 master(기본)라는 branch를 사용중
git branch 이름 - 새로운 branch를 생성
git checkout 이름 - 이름의 branch로 들어감
git checkout -b 이름 - 이름이라는 branch를 만들고 동시에 checkout
git log --branches --decorate --graph --oneline
git log --branches => 저장소에 있는 모든 branch를 보여줌
--decorate => head는 현재 checkout된 branch를 가리킴
--graph => branch들의 흐름을 시각적으로 보여줌
--oneline => 한줄로 현재의 상태를 간결하게 보여줌
git log master..이름 - master에는 없고 이름 branch에는 있는것들을 보여줌
git log -p 이름..master - 이름에는 없고 master에 있는것을 소스코드로도 보여줌(커밋, 파일, 파일내용)
git diff master..이름 - 각각의 branch의 현재상태를 비교할수있음(앞=master, 뒤=이름)
git branch -d 이름 - 필요없는 branch 삭제(이름의 branch가 삭제됨)
git branch -D 이름 - 강제로 삭제

병합 - 이름의 내용을 master로 옮기기(이름 -> master)

1. git checkout master - 옮기려는 branch(master)로 checkout
2. git merge 이름 - 이름의 내용을 master로 가져옴

Fast-forward 병합 O : 별도의 commit을 생성하지않음
Fast-forward 병합 X : merge commit을 생성함
(=Recursive strategy)

같은 파일임에도 수정한 위치가 다르면 자동으로 내용이 잘 병합됨
두 브랜치가 같은 위치 코드를 수정 후 커밋하면 conflict 발생

<<<<<<<HEAD 
내용1
=======
내용2
>>>>>>>이름

내용1과 내용2 충돌 , 수정 후 표시들은 지워줌(<,=,>)

3. Stash

아직 수정이 끝나지 않아서 commit 하기도 애매하고 할 수도 없을 때 사용, 작업하고 있는 내용을 숨길 때

git stash - 작업하고 있는 내용을 임시로 저장
git stash apply - stash했던 작업을 다시 가져옴
git stash list - stash하고 있는 리스트들을 보여줌, git stash apply하면 젤 위에 있는 stash를 적용
git stash drop - 가장 최신 stash를 삭제함
git stash pop - 적용과 삭제를 동시에 진행
= git stash apply; git stash drop;

4. To be coninued..

Git의 원리에 대해서는 나중에 다시 공부하도록 하자
공부를 하면서 느낀점은 git이 재밌다고 느껴졌다.
아직은 쉬운 내용이라서 그런가..?

이전 포스트 Git-1 https://velog.io/@jiyoon2/Git
다음 포스트 Git-3

profile
블로그 이전 했습니다. https://yoon-log.vercel.app/

0개의 댓글