2011-01-09 6 views
0

직접 새로운 커밋을 작성하는 대신 색인에 원격 변경을 적용 할 수 있습니까?Git에서 색인으로 당기기

로컬 콘텐츠를 수정하지 않고 원격 콘텐츠가있는 패치를 적용하는 것이 가장 이상적입니다.

감사

답변

0

git fetch 원격에서 변화를 가져하지만 master 분기와 병합하지 않습니다. 그것은 원격 추적 지점에있을 것입니다. 그런 다음 수동으로 병합 할 수 있습니다. git pull은이 두 가지 작업을 함께 수행합니다.

1

그런 다음 원격 변경 사항을 가져온 다음 원격지 기록의 어떤 지점에서 패치를 생성해야합니까? 이것은 병합이 해결하고자하는 문제입니다. 병합 커밋은 지금까지 로컬 브랜치에 적용된 원격 버전을 나타냅니다.

git fetchgit merge --no-commit을 수행하면 병합은 작업 영역 (및 색인)에서 수행되지만 커밋되지는 않으며 메타 데이터는 커밋 할 때 해당 상태로 유지됩니다. 병합 커밋으로 표시됩니다. 그게 네가 필요한거야?

+0

이것이 OP가 실제로 원하는 것으로 의심됩니다. (인덱스 *와 * 작업 트리를 병합하지만 커밋하지 않습니다). 'pull --no-commit' 만하면됩니다. 그것은 합쳐져서 합쳐집니다. – Cascabel

3

의도 한 작업 흐름이 무엇인지 확실하지 않지만 현재 분기 또는 색인에 영향을주지 않고 원격 변경 사항을 가져올 수 있습니다.

git fetch 

그런 다음 커밋 병합을 설정하지 않고 현재 인덱스에 가져온 변화를 병합 할 수 있습니다,하지만이 수행 할 수있는 매우 모호한 특이한 일이다. 다음 세 가지 방법 병합 옵션이 더 좋을 수없는 경우 원격 지사는, 현재 HEAD의 빨리 감기 인 경우

git read-tree -m HEAD origin/remote-branch 

두 나무 버전은 최고입니다.

git read-tree -m $(git merge-base HEAD origin/remote-branch) HEAD origin/remote-branch 

차이점에 대한 자세한 내용은 git read-tree에 대한 매뉴얼 페이지를 참조하십시오.

0

나는이 페이지에 계속 올라와 있으며 코멘트에 있기 때문에 옳은 대답을 놓치고 있습니다.

git-pull --no-commit [email protected]:username/project.git 
0

this answer을 살펴보십시오. 병합 커밋을 피하기 위해 구성을 조정할 수 있습니다.

관련 문제