본문 바로가기

개발툴...

[Git GUI 툴] 2. SourceTree 를 이용한 Commit & Push

소스트리 사용법 소개 두번째 시간입니다.

간단한건데 매우 오랜만에 올리네요 ㅠㅠ


2. SourceTree 를 이용한 Commit & Push

소스트리를 이용해서 커밋과 푸시를 진행하는 방법을 스샷을 보면서 간략하게 소개하겠습니다.


우선 프로젝트에서 파일을 변경후 세이브를 합니다.(예시로 간단하게 파일 하나반 면경하였습니다)


그리고 소스트리를 틀어보면 아래와 같은 화면이 나옵니다.


파란박스에는 커밋되지 않은 변경점이 있다고(영어로 쓰인)부분이 보이시죠?

그리고 녹색박스를 보면 정확히 어떤 파일이 바귀었는지 나옵니다. 지금은 파일 하나만 변경하여 하나만 보입니다.(우측엔 상세 변경내역이 표시 됩니다)

이전에 깃에 대해 설명할때, 깃은 커밋 직전 staging 이라는 한단계를 더 거친다고 했습니다.


현재는 파일이 변경된 상태일 뿐입니다.

빨간박스에 보이는 화살표를 눌러 stage 상태를 만들어 줘야 커밋이 가능해 집니다.

아래와 같이요.



staged changes에 파일이 올라간게 확인되면 좌측 상단 두번째 아이콘 Commit을 눌러줍니다.



그럼 위와 같은 화면이 보입니다.(사실 파일을 stage 공간에 넣는 작업을 여기서 해도 됩니다.)

커밋되는 파일은 Staged Changes에 보이는 파일만이 커밋이 됩니다. 즉 일부 파일은 커밋하기 싫다면 Working Copy Changes에 그대로 두거나, 다시 돌려보내도 된다는 소리이지요.


그리고 우측 하단의 커밋 버튼을 누르기전에 꼭 커밋 메세지(빨간박스)를 작성해야 합니다.

작성하였다면 커밋을 누릅시다.




커밋이 완료된 상황입니다.

깃 히스토리를 보여주는 화면에서 uncomminted changes가 사라지고 새로운 커밋이 하나 타나났습니다.(파란박스)

보시면 1ahead란 아이콘과 두개의 master 아이콘이 보이실 겁니다.

이는 원격 저장소와 몇개의 커밋이 차이가 있는지 를 보여주는 것 입니다.


그리고 현재 변경된건 로컬뿐이죠?

그렇기에 로컬의 master헤드는 새로운 커밋을 가르키고 있고, 아직 변경점이 반영이 안된 원격 저장소의 헤드(origin/master)는 이전 커밋을 가르키고 있습니다.


이제 원격저장소에도 변경점을 저장하기 위해 푸시를 해야 합니다. 푸시 버튼을 누릅시다.(빨간박스)




그럼 위처럼 로컬 브랜치와 그와 연결된 마스터 프랜치의 리스트가 나옵니다.

지금은 다 한개밖에 없어서 하나밖에 안나오지만요.

왼쪽에서 푸시할 로컬 브랜치를 선택하고, 오른쪽엔 푸시받을 원격저장소의 브랜치를 선택합니다. 즉, 로컬 브랜치 명이 마스터라도 원격의 다른 브랜치에 푸시할 수도 있습니다.


선택 완료 후 ok 를 눌러주면 프로그레스바가 뜨고, 인증이 필요하면 인증창도 뜨고 합니다.




에러 없이 완료되었다면 이 화면을 보실 수 있습니다.

원격의 origin/master와 로컬의 master가 같은 커밋을 가리키고 있는 것이 보이시죠?


이렇게 변경점의 커밋과 푸시가 완료되었습니다.