:)/Git

[Git] Pull & Push : 깃 푸쉬 풀 방법 알아보기 (rebase 포함)

미소딩 2023. 7. 3. 14:43
반응형

안녕하세요, 미소딩입니다.

 

나는 항상 깃에 Push를 하기 전 Pull을 받고 파일 하나씩 conflict(컨플릭트)를 해결하는 방식으로 진행했다.

하지만, 이번에 Rebase를 통해 손 쉽게 conflict(컨플릭트)를 해결하여 Push할 수 있는 방법을 알게되어서 작성한다.

 

1. 먼저 Git에서 우클릭 후 Pull을 눌러본다.

가장 간단한 Pull 받는 방법이므로 나는 항상 conflict(컨플릭트)가 발생하지 않을 상황을 기대하며 눌러본다...

 

2. Commit and Push 또는 Commit 진행

만약 conflict(컨플릭트)가 발생하지 않았다면 그대로 Commit and Push 버튼을 누르면 되지만

항상 지금 설명하는 방식대로 진행하는 것이 안전하고 좋다고 생각한다.

 

conflict(컨플릭트)가 발생했다고 가정하고, 깃에 업로드할 파일을 선택하여 Staged Changes에 넣어준 후

Commit Message를 작성하고 Commit 버튼을 클릭한다.

커밋 메세지는 제일 윗줄엔 제목, 한줄 띄우고 내용을 작성해주면 된다.

 

3. 깃에 업로드하지 않는 파일 제외 (Assume Unchanged)

한번도 수정하지 않은 파일은 우클릭 후 .gitignore에 넣어주면 되지만,

한번이라도 수정한 파일은 적용되지 않으니 선택 후 우클릭하여 Assume Unchanged를 클릭해준다.

잠깐 안보이게 해주는 기능이다.

 

4. rebase(리베이스) 진행

이제 컨플릭트 난 커밋들을 rebase(리베이스)를 통해 정리해주는 기능을 하는 것이다.

프로젝트 우클릭 후 Team - Rebase...를 클릭해주면 아래와 같은 창이 뜬다.

Rebase interactively 체크박스 클릭 후 Rebase 클릭

확인 후 Start 버튼 클릭

이렇게 하면 Rebase 끝! 생각보다 쉽다.

 

5. Push 진행

커밋이 완료된 상태에선 프로젝트 우측에 ' ↑ 커밋수 ' 표시를 확인할 수 있다.

↓ 는 Pull 받아야할 커밋수, ↑는 Push 해야할 커밋수를 나타낸다.

아무튼, 프로젝트 우클릭 - Team - Remote - Push...를 클릭하면 Push를 진행할 수 있다.

Next > 버튼 클릭

Source ref에선 내 로컬에서 Push할 브랜치 선택, Destination ref에선 Git에서 받을 브랜치 선택 후

+ Add Spec 버튼을 클릭한다.

그럼 아래 Specifications for push에서 확인할 수 있고, 다음으로 Next 버튼을 눌러준다.

내가 rebase(리베이스)한 후 push된 커밋이 없다면 위와같이 동작할 것이고 있다면 브랜치에 x 표시가 뜬다.

그러면 4번 rebase부터 다시 진행하면 정상적으로 동작할 것이다.

그럼 Finish 버튼을 누르면 끝! 

 

이상 미소딩이였습니다. 🥰

반응형

':) > Git' 카테고리의 다른 글

[Git] Commit & Push 이름 설정  (0) 2024.04.11