2014-05-22 2 views
0

나는 하나의 문제가 있습니다. 나는 그것에 대해 읽었지만 어떤 해결책이 맞는지, 그리고 지금 어떤 해결책이 올바른지 테스트 할 수 없다고 확신하지 못합니다. 그래서 원격 지사에서 일하고 있고, 다른 사람들도 여기에서 일하고 있습니다. 내가 끝나면 나는 밀기를 원하지만 다른 사람들은 이미 그 가지를 바꾸었고 그렇게 할 수 없다. 잡아 당길 때마다 지점을 병합하고 싶습니다. 병합하지 않고 분기에서 최신 커밋을 얻은 다음 변경 사항을 적용 할 수있는 다른 방법이 있습니까?Git 추적 원격 지점

+1

* 분기 **에서 병합하지 않고 최신 커밋을 얻는 다른 방법이 있습니까? 그런 다음 변경 사항을 적용 하시겠습니까? * 왜 그렇게하고 싶습니까? –

+0

나는 최신 변경 사항을 얻고 싶다. 그리고 내 자신을 밀어 넣기를 원한다. – user3274539

답변

2

당신은 최신 업스트림 브랜치를보고 싶다면, 당신은 (여기에 어떤 병합)를 가져오고 임시 지점 만들 수 있습니다

git fetch 
git checkout -b tmp origin/master 

그런 식으로, 당신은 앞뒤로 전환 할 수 있습니다 tmpmaster (자신의 로컬 지사) 사이의 차이점을 비교하고 (of file list)

밀어 넣기를 수행하고 업스트림 기록을 지우지 않고 변경 내용을 푸시 할 수 없습니다.

최선의 조치는 origin/master의 상단에 master 지점을 리베이스하는 것입니다 :

git pull --rebase 

(A 병합이 발생,하지만 더 중요한 것은, 자신의 커밋이 가장 상단에 재생 될 것이다 최신 업스트림 master 브랜치)

그러면 사용자가 직접 변경 사항을 적용 할 수 있습니다.

+0

그래서 내가 올바르게 이해한다면, 나는 리모트 브랜치 tmp를 체크 아웃했고, 약간의 변경을했는데, 이제는 내가 빌어 먹을 페치를하면 내 변경 사항을 푸시 할 수 없을거야? 나는 git pull --rebase를해야만한다. – user3274539

+0

'tmp'는 원격 브랜치가 아닙니다 : 하나를 기반으로하지만 로컬 브랜치입니다. 'origin/master'가 어떻게 보이는지 볼 수있는 마커. rebase에 관해서는 커밋을 푸시하는 것이 필수적입니다 :'tmp'를 생성 할 필요조차 없습니다 : 가져올 수 있고'master' 또는'origin/master'의 top을 rebase 할 수 있습니다 : 그것은 무엇입니까 'git pull --rebase'가합니다. – VonC