Git을 이용하여 개발을 하였을 경우 원격 저장소의 소스를 내 로컬 저장소에 merge하기 위해서는 pull을 받게 된다.
pull을 하게 되면 원격 저장소의 소스를 로컬 저장소로 가져온 후, Merge 작업을 자동으로 수행한다.
여기서 원격 저장소의 소스를 로컬 저장소로 가져오는 작업을 Fetch라고 한다.
즉, pull을 하게 되면 fetch를 한 후 merge 작업까지 자동으로 실행해 주는 것이다.
그럼 pull을 받았을 때 충돌이 발생하면 어떻게 해야 하는 걸까?
이런 경우는 우선 fetch를 받은 후 개발자가 수동으로 merge 작업을 진행해 줘야 한다.
이클립스 EGit을 사용할 때 한 가지 알아야 할 것이 있는데 Egit 플러그인에서는 synchronize workspace 실행 전 fetch를 자동적으로 받을 수 있는 옵션을 제공하고 있다.
Window > Preference > Team > Git > Synchronize 메뉴로 이동하면 다음의 옵션에 체크가 되어 있는 것을 알 수 있다. Synchronize 받기 전에 원격 저장소에서 로컬 저장소로 항상 fetch를 실행하겠다는 의미이다.
Always launch fetch before synchronization <- default로 체크되어 있음
EGit을 이용하여 synchronize를 진행했을 때 보이지 않는 곳에서 fetch를 진행하고 있다는 것을 알고 있으면 도움이 될 것 같아 정리한다.
'개발툴' 카테고리의 다른 글
IndentGuide 플러그인 (0) | 2014.03.08 |
---|---|
Java Unsupported major.minor version 51.0 (2) | 2014.03.03 |
SourceTree merge tool 변경 (0) | 2014.02.22 |
SourceTree Commit mode default 설정 변경 (0) | 2014.02.15 |
Jenkins 에서 shell로 tomcat startup 시 동작하지 않는 문제 (0) | 2014.01.26 |
eclipse EGit 시나리오별 사용법 (4) | 2014.01.18 |
Git Configuration 프로젝트별 사용자 정보 셋팅 (0) | 2014.01.18 |
Github Web Hook 설정 (0) | 2014.01.15 |