SourceTree 사용법 정리

노요셉·2021년 8월 11일
0

브랜치명 변경


브랜치 변경하고자 하는 브랜치명 오른쪽클릭

git add

파일상태 클릭

스테이지에 올라가지 않은 파일 클릭

git reset

돌아가려는 커밋 오른쪽 클릭
초기화

git merge

브랜치 확인

현재 브랜치를 기준에서 병합 버튼을 클릭하면

합치려는 브랜치의 커밋을 찾아서 병합해줍니다.
빠른 병합이 간으해도 새 커밋 생성을 체크하면 병합할때 새 커밋이 생성되어 머지되는 형태로 보입니다.

효과적인 브랜지 2줄 전략

branch, branch2를 intel이란 브랜치로 병합할겁니다.
그런데 branch가 먼저 merge되면 다음과 같은 형태가 나옵니다.

그리고 branch2가 merge가 되면 이렇게 복잡한형태로 그래프가 나와서 변경내역의 가독성이 많이 떨어집니다.

커밋내역의 가독성을 높이기 위해~ branch2가 intel을 rebase해서 merge해보겠습니다.

branch2로 옮겨가서 intel을 rebase 받습니다.
(intel 커밋내역 선택후 재배치)

rebase가 되어 feature 브랜치 커밋들이 intel 브랜치 커밋내역 위로 올라가는 형태가 됩니다.

이제 intel에서 branch2를 merge하면

merge된 형태가 눈에 잘 보이는 형태로 바뀌게 됩니다.

출처: https://wbluke.tistory.com/26

interactive rebase

https://www.slideshare.net/tkaczmarzyk/git-interactive-rebase-94363484
개발하다보니 커밋이 많아졌어요. f2,f3,f4 커밋내역들이 있는데,
단일 커밋으로 합치고싶어요.

그럴땐 위에 보면 현재 브랜치가 branch2이고 커밋이 가장 위에 있죠. 여기서 git rebase -i 5bac1e4
커밋에 나오는 길이가 7인 문자열을shortsha라고 합니다.

소스트리로는 5bac1e4로 커밋 로그에서 '5bac1e4'하위 요소 대화식 재배치 이거 클릭하시면 다음과 같이 나옵니다.

맨 위에 커밋내역 550ddbc을 클릭하고 이전 것과 합치기 클릭해줍니다.

그러면 f3,f4가 합쳐집니다.

다시 맨 위에 커밋550ddbc을 클릭하고 이전 것하고 합치기 해주면

f2,f3,f4가 합쳐지게 됩니다.

이제 메시지 편집하고 확인해주고 확인해주면

다음과같이 메시지 편집되고
3개 커밋이 단일 커밋으로 합쳐진것을 확인할 수 있습니다.

https://www.lesstif.com/gitbook/git-squash-commit-24445167.html

interactive rebase - 2

https://www.slideshare.net/tkaczmarzyk/git-interactive-rebase-94363484
개발하다보니 커밋이 많아졌어요. f2,f3,f4,f5 커밋내역들이 있는데,
f2,f4,f5만 단일 커밋으로 합치고, f3는 빼고싶어요.

그럴땐 위에 보면 현재 브랜치가 branch2이고 커밋이 가장 위에 있죠. 여기서 git rebase -i 5bac1e4
커밋에 나오는 길이가 7인 문자열을shortsha라고 합니다.

소스트리로는 5bac1e4로 커밋 로그에서 '5bac1e4'하위 요소 대화식 재배치 이거 클릭하시면 다음과 같이 나옵니다.

커밋해시가b6aa675인 f3를 선택해서 삭제해줍니다.

삭제가 된 상태

이제
커밋해쉬 3b7917d인 커밋내역 선택후 이전것과 합치기 해줍니다.

interactive rebase에 나온대로 하시면 됩니다.

만약 rebase시 같은 코드를 수정했다면 충돌이 납니다. 병합해줘야 rebase 가 마무리됩니다.
충돌 병합

확인 눌러주고

코드 에디터로 충돌 해결해줍니다.

https://www.youtube.com/watch?v=yRjc6mmRol4
4:04초에 나온대로
충돌난 위치에 << >> == 다 제거해주시고 코드를 저장해주세요.

소스트리에서 스테이지에 올라가지 않은 파일에서 충돌처리한 파일을 클릭해줍니다. (git add)

HEAD를 클릭해주시고 재배치 선택

그러면 재비치 진행중 모달 뜨고
여기서 재비치 계속 선택해줍니다.

충돌이 있을때마다

  • 소스코드 충돌 해결
  • 소스트리에서 스테이지에 올라가지 않은 파일에서 충돌처리한 파일을 클릭해줍니다.
  • HEAD에서 재배치 선택

충돌해결이 끝나고 새로운 커밋 메시지를 작성해줍니다.

rebase가 마무리되면
제거한 커밋을 제외한 f2,f4,f5가 하나의 커밋으로 합쳐집니다.

profile
서로 아는 것들을 공유해요~

0개의 댓글