git 로컬 버전을 원격 버전으로 교체
병합을 시도하여 충돌을 일으키지 않고 로컬 파일을 무시하고 원격 분기에서 하나를 가져오도록 git에게 지시하려면 어떻게 해야 합니까?
이것이 가장 안전한 해결책입니다.
git stash
이제 당신은 갈등의 두려움 없이 당신이 원하는 것을 무엇이든 할 수 있습니다.
예를 들어:
git checkout origin/master # or origin/main
마스터 분기에 원격 변경사항을 포함하려면 다음을 수행합니다.
git reset --hard origin/master # or origin/main
이렇게 하면 "master"를 분기하여 "origin/master"를 가리킵니다.
질문을 이와 같이 이해합니다. 하나의 파일(또는 선택 항목)의 내용을 업스트림에서 완전히 바꾸려고 합니다.인덱스에 직접적인 영향을 미치지 않으려면 평소처럼 추가 + 커밋을 수행해야 합니다.
간단히 하라
git checkout remote/branch -- a/file b/another/file
광범위한 하위 트리에 대해 이 작업을 수행하고 대신 인덱스에 직접 영향을 미치려면 다음을 사용합니다.
git read-tree remote/branch:subdir/
그런 다음 (선택적으로) 작업 복사본을 업데이트할 수 있습니다.
git checkout-index -u --force
예를 들어 테스트 목적으로만 업데이트한 파일을 잘못 저장한 것으로 알고 있습니다.그런 다음 "git status"를 실행하면 파일이 "수정됨"으로 표시되고 몇 가지 나쁜 말을 합니다.이전 버전을 다시 사용하고 정상적으로 작동하기만 하면 됩니다.
이 시나리오에서는 다음 명령을 실행하면 됩니다.
git checkout -- path/filename
다음과 같이 "마스터"(원격/원격 저장소)에서 원격 파일을 체크아웃합니다.
git checkout master <FileWithPath>
예: git checkout 마스터 구성 요소/indexTest.html
사용-s
또는--strategy
옵션과 결합된-X
선택.특정 질문에서는 모든 원격 파일을 유지하고 동일한 이름의 로컬 파일을 바꾸려고 합니다.
충돌을 원격 버전으로 바꾸기
git merge -s recursive -Xtheirs upstream/master
충돌하는 모든 파일의 원격 repo 버전을 사용합니다.
충돌을 로컬 버전으로 바꿉니다.
git merge -s recursive -Xours upstream/master
충돌하는 모든 파일의 로컬 repo 버전을 사용합니다.
이전 로컬 분기 이름 바꾸기
git branch -m master old_master
원격에서 분기 체크아웃
git checkout -b master origin/master
언급URL : https://stackoverflow.com/questions/5288172/git-replace-local-version-with-remote-version
'programing' 카테고리의 다른 글
이 파이썬 스니펫에서 세미콜론이 허용되는 이유는 무엇입니까? (0) | 2023.07.06 |
---|---|
객체의 인스턴스로 설정되지 않은 객체 참조를 해결하는 방법.? (0) | 2023.07.06 |
해결 방법: 오류: Firebase 프로젝트를 나열하지 못했습니다.자세한 내용은 firebase-debug.log를 참조하십시오. (0) | 2023.07.06 |
Core Animation으로 사용자 지정 완화 기능을 만드는 방법은 무엇입니까? (0) | 2023.07.06 |
연속 어레이와 비연속 어레이의 차이점은 무엇입니까? (0) | 2023.07.06 |