>  기사  >  개발 도구  >  병합하지 않고 git에서 로컬 코드를 완전히 덮어쓰는 방법

병합하지 않고 git에서 로컬 코드를 완전히 덮어쓰는 방법

WBOY
WBOY원래의
2023-05-25 19:27:354323검색

Git은 개발자와 팀이 코드를 관리하고 버전을 제어하는 ​​데 사용하는 매우 인기 있는 버전 제어 도구입니다. Git을 사용하면 한 버전에서 다른 버전으로 쉽게 이동하고 함께 작업할 수 있습니다. 일반적으로 Git은 병합을 통해 여러 버전의 코드를 처리합니다. 그러나 어떤 경우에는 병합하지 않고 네이티브 코드를 완전히 덮어써야 할 수도 있습니다. 이 글에서는 Git을 사용하여 병합하지 않고 로컬 코드를 완전히 덮어쓰는 방법을 설명합니다.

Git의 기본 작동 원리

Git은 분산 버전 관리 시스템입니다. 그 핵심에는 코드 베이스의 메타데이터와 개체 데이터베이스를 저장하는 .git 폴더가 있습니다. Git은 파일의 모든 변경 사항을 기록하여 코드를 관리합니다. Git 저장소에 변경 사항을 커밋하면 Git은 새 버전인 새 스냅샷을 생성합니다. Git은 이러한 버전을 기반으로 차이점을 찾아 비교합니다.

Git에서 "브랜치"는 일반적으로 프로젝트의 모든 버전을 관리하는 데 사용됩니다. 브랜치를 생성할 때마다 Git은 브랜치의 현재 버전을 보관할 새 디렉터리 트리를 생성합니다.

Git에서 가장 일반적으로 사용되는 명령은 git clone, git add, git commit, git push 및 git pull입니다. Git clone 명령은 원격 Git 저장소에서 로컬 저장소로 복제하는 데 사용되며, git add 명령은 준비 영역에 변경 사항을 제출하는 데 사용되며, git commit 명령은 저장소에 변경 사항을 제출하는 데 사용되며, git push 명령은 로컬 변경 사항을 원격 저장소에 푸시하는 데 사용됩니다. git pull 명령은 최신 분기 또는 코드 베이스 업데이트를 가져오는 데 사용됩니다.

로컬 코드를 완전히 덮어쓰는 목적

어떤 경우에는 로컬 코드를 병합하지 않고 완전히 덮어쓰고 싶을 수도 있습니다. 이를 수행해야 하는 몇 가지 이유는 다음과 같습니다.

  1. 로컬 버전을 원격 버전과 동기화: 로컬에서 브랜치를 생성하고 일부 변경 사항을 푸시했지만 그 동안 다른 사람이 변경 사항을 푸시한 경우 이 시점에서 다음을 수행해야 합니다. 자신의 버전을 원격 버전으로 완전히 덮어씁니다.
  2. 병합 충돌 없음: 로컬 변경 사항이 원격 변경 사항과 어떻게 병합되는지 확실하지 않거나 로컬 변경 사항이 필요하지 않은 경우 로컬 분기를 원격 분기로 완전히 덮어쓸 수 있습니다.
  3. 코드 베이스의 특정 상태 처리: 경우에 따라 현재 분기를 특정 상태로 재설정해야 할 수도 있습니다.

이 경우 Git을 사용하면 병합하지 않고 로컬 코드를 완전히 덮어쓸 수 있습니다. Git에서 로컬 코드를 완전히 덮어쓰는 단계는 다음과 같습니다.

로컬 코드를 완전히 덮어쓰는 단계

로컬 코드를 완전히 덮어쓰는 단계는 다음과 같습니다.

1. 최신 코드 가져오기

먼저 최신 코드를 가져와야 합니다. . git pull 명령을 사용하여 원격 저장소에서 최신 코드를 가져올 수 있습니다.

git pull origin <branch-name>

2. 네이티브 코드 롤백

다음으로 네이티브 코드를 롤백해야 합니다. git Reset 명령을 사용하여 로컬 코드를 롤백할 수 있습니다. 네이티브 코드로 대체하는 가장 일반적인 방법은 "하드" 옵션을 사용하는 것입니다. "hard" 옵션을 사용하면 작업 디렉터리와 준비 영역이 이전 커밋과 동일하게 복원됩니다. 즉, 커밋되지 않은 변경 사항에 대한 모든 변경 사항이 손실됩니다.

git reset --hard HEAD~1

위 명령은 마지막으로 제출된 버전으로 롤백됩니다. 이 명령을 사용하면 원하는 만큼의 커밋을 롤백할 수 있습니다.

3. 코드 푸시

다음으로 코드를 원격 저장소에 푸시해야 합니다. 다음 명령을 사용하여 로컬 코드를 원격 저장소에 푸시할 수 있습니다.

git push origin <branch-name> --force

위 명령의 “–force” 옵션은 로컬 변경 사항을 강제로 푸시하고 원격 저장소의 변경 사항을 덮어씁니다. "--force" 옵션을 사용하면 원격 저장소의 모든 변경 사항이 삭제되므로 주의하세요.

요약

병합하지 않고 로컬 코드를 완전히 덮어쓰는 것은 커밋되지 않은 모든 변경 사항을 제거하므로 위험한 작업입니다. 따라서 이 작업을 수행하기 전에 커밋되지 않은 모든 변경 사항을 백업했는지 확인해야 합니다. 전반적으로 Git은 버전 제어를 관리하는 많은 도구를 제공합니다. 목적을 명확히 하고 필요에 따라 코드베이스를 관리하는 도구를 사용해야 합니다. 이 기사가 Git을 사용하여 병합하지 않고 로컬 코드를 완전히 덮어쓰는 방법을 더 잘 이해하는 데 도움이 되기를 바랍니다.

위 내용은 병합하지 않고 git에서 로컬 코드를 완전히 덮어쓰는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.