2017-10-12 12 views
0

코드베이스 관리를 위해 Git을 사용하고 있습니다.git merge 커밋 작업을 잃지 않는 방법

간혹 특정 코드가 변경된 경우가 있습니다. 문제를 추적했으며 병합 커밋으로 인한 것으로 보입니다.

  1. 개발자가 변경 사항을 원래 로컬에서 자신의 로컬 저장소로 가져옵니다.

  2. 병합 커밋이 이루어집니다. 이것은 (기본적으로) 자동으로 커밋되지 않기 때문에 개발자는 병합 커밋을 변경합니다 (예 : 특정 코드 파일 변경 내용 삭제).

  3. 개발자가 원점으로 푸시합니다.

이 시나리오에서 우리를 보호하는 적절한 방법은 무엇입니까?

손실 된 변경 사항을 가장 쉽게 복원하려면 어떻게해야합니까? 나는 대개 변경 사항을 수동으로 적용하기 만합니다.

+0

병합이 완료되기 전에 항상 커밋으로 롤백 할 수 있습니다. – lilezek

+1

대개 병합 충돌이 발생하여 작업을 잃을 가능성이 큽니다. – hspandher

+1

일반적으로 개발자는 병합 커밋의 변경 내용을 무시해서는 안됩니다. – crashmstr

답변

1

이런 종류의 경우에는 커밋 병합을 피하는 것이 좋습니다. 즉, 단순히 당신이 당길 때마다 예를 들어, 원격 지사의 상단에 작업을 리베이스 할 필요가 의미

git pull origin master --rebase 

당신이 당신의 .gitconfig에서 기본값으로 구성 할 수 있습니다.

+0

이 접근법에는 단점이 있습니까? –

+0

변경 작업을 수행하기 위해 파일을 수정할 수 없으므로 변경 내용을 숨기고 완료된 후에 다시 열어야합니다. 팀이 병합 충돌로 어려움을 겪는다면 이는 마법의 해결책이 아닙니다. 그러나 개발자가 이미 git 리포지토리에있는 작업을 추가하기 때문에 더 직설적이라고 생각합니다. – Axnyff