강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của hyuniam
hyuniam

câu hỏi đã được viết

Git nhanh chóng - tìm hiểu Git/Github bằng cách chỉ chọn phần lõi

Cộng tác (2) - Khi cả local và remote đều thay đổi

새로 pull request를 날릴때,

Viết

·

312

0

첫 과정: fork 한 곳을 clone 하고 브랜치를 만들어 그곳에서 코드를 작성(commit) & 나의계정/repository 에 push 한 후,  나의 계정/repository에서 pull request 날리고 이후 branch 삭제

-------------------------------------------------------

1.

추가로 코드를 작성할 때,  branch 를 새로 만들고 그곳에서 기존의 organization/repository 를 fork 한 나의계정/repository 를 clone 한 코드를 기반으로 작성하게 됩니다.

와중에 organization/respository 은 다른 사용자들이 내용을 변경할수록 점점 달라지게 되고,  organization/repository 와 처음의 organazation/repository를 fork 한 나의계정/repository 의 괴리는 커질 것 입니다. 

추가로 변경된 부분을 알아야 코드를 작성하기 좋을 것 같은데, 그럼 코드를 작성하기 전에 먼저 organization/repository의 내용을 

나의계정/repository 을 clone 한 내 로컬저장소에 pull 한 후,

로컬저장소에서 코드작성(commit) 하고 나의계정/repository에 push 한 다음, 나의계정/repository 에서 pull request 날리고, 이후 branch 삭제를 하는 건가요?

2.

commit 까지 한 후 organization/repository 가 바뀐다면 현재 브랜치에서 다시 pull 하고 충돌 있으면 해결하고,  다시 코드 작성(commit)하고 나의 계정/repository 에 push 하면 되나요?

- 좀 복잡하게 말한 것 같아 이해부탁드립니다.-

 

gitgithub버전관리시스템

Câu trả lời 3

1

kangminchul님의 프로필 이미지
kangminchul
Người chia sẻ kiến thức

fetch and merge는 자신의 원격 저장소를 동기화 시키는 방법입니다.

로컬 저장소를 동기화시키기 위해서는 fetch and merge한 원격 저장소를 pull 하셔야 합니다!

 

언제든 질문주셔도 좋습니다 :)

감사합니다

1

kangminchul님의 프로필 이미지
kangminchul
Người chia sẻ kiến thức

1.

 

추가로 코드를 작성할 때,  branch 를 새로 만들고 그 곳에서 기존의 organization/repository 를 fork 한 나의계정/repository 를 clone 한 코드를 기반으로 작성하게 됩니다.

와중에 organization/respository 은 다른 사용자들이 내용을 변경할수록 점점 달라지게 되고,  organization/repository 와 처음의 organazation/repository를 fork 한 나의계정/repository 의 괴리는 커질 것 입니다. 

추가로 변경된 부분을 알아야 코드를 작성하기 좋을 것 같은데, 그럼 코드를 작성하기 전에 먼저 organization/repository의 내용을 

나의계정/repository 을 clone 한 내 로컬저장소에 pull 한 후,

로컬저장소에서 코드작성(commit) 하고 나의계정/repository에 push 한 다음, 나의계정/repository 에서 pull request 날리고, 이후 branch 삭제를 하는 건가요?

 

>> 기존의 organization/repository를 pull 하고, 코드를 작성한 뒤 Pull Request를 날리는 것이 맞습니다.

아니면 이런 방법도 있습니다. 예를 들어, 아래 사진은 namhyung/uftrace를 fork 해온 제 계정(kangtegong)의 uftrace, 즉 kangtegong/uftrace 입니다.

현재 기존 repository (namhyung/uftrace) 에 비해 4 개의 커밋이 뒤쳐져있다고 나와 있죠?

 

 

이 경우 "fetch upstream"의 fetch and merge를 하게 되면 원본 repository와 동일해지게 됩니다. 

 

 

 

2.

 

commit 까지 한 후 organization/repository 가 바뀐다면 현재 브랜치에서 다시 pull 하고 충돌 있으면 해결하고,  

다시 코드 작성(commit)하고 나의 계정/repository 에 push 하면 되나요?

 

>> 네 맞습니다. push를 할 적에 충돌이 있다면 어떤 부분에서 충돌이 발생했는지 나오게 될텐데, 그 부분만 해결하고 다시 commit 후 push하면 성공적으로 반영됩니다

0

hyuniam님의 프로필 이미지
hyuniam
Người đặt câu hỏi

1 번에 추가로 제시해주신 답변에 궁금한 점이 있습니다.

organization/repostory 를 내 로컬에서 pull 하는 방법 대신, 

내 계정/repository 에서 fetch and merge 를 하는 방법을 알려주셨는데

이렇게 되면 내 계정/repository는  원본 repository 와 같아지는 점은 알겠으나,

같아진 내 계정/repository 를 다시 내 로컬 저장소에 적용하진 않는 건가요? 알아서 적용이 되나요?

로컬 저장소에는  아직 기존의 코드내용만이 있을 텐데요!!

친절한 답변 늘 감사드립니다!!

Hình ảnh hồ sơ của hyuniam
hyuniam

câu hỏi đã được viết

Đặt câu hỏi