>  기사  >  개발 도구  >  git은 로컬 코드 없이 분기를 전환합니다.

git은 로컬 코드 없이 분기를 전환합니다.

WBOY
WBOY원래의
2023-05-17 11:29:371037검색

소프트웨어 개발이 지속적으로 발전하면서 버전 관리는 모든 개발자에게 없어서는 안 될 도구가 되었습니다. 현재 가장 널리 사용되는 버전 관리 도구인 Git은 점점 더 중요한 위치를 차지하고 있습니다. Git에서 분기는 개발자가 동시에 여러 가지 개발 작업을 수행할 수 있도록 하는 매우 중요한 개념입니다. 그러나 지점을 전환할 때 몇 가지 문제에 주의를 기울여야 하는 경우가 많습니다. 예를 들어 지점을 전환할 때 현재 지점의 코드를 원격 창고에 제출해야 하지만 어떤 경우에는 코드를 제출하고 싶지 않습니다. 현재 지점의 지점만 전환하고 싶습니다. 그렇다면 Git에서 브랜치를 전환하고 로컬 코드를 커밋하지 않는 방법은 무엇입니까?

1. 브랜치 소개

Git에서 브랜칭은 매우 중요한 개념입니다. 버전 관리의 핵심으로, 서로 다른 코드를 분리하고 관리하는 데 사용됩니다. Git에서 브랜치는 실제로 커밋에 대한 포인터이며 이 포인터가 가리키는 커밋은 브랜치의 "헤드"입니다. 브랜치에서 작업할 때 실제로는 해당 브랜치가 가리키는 커밋과 이와 관련된 "커밋 체인"에서 작업하는 것입니다.

2. 브랜치 전환

Git에서는 브랜치를 전환하는 것이 매우 간단합니다. "git checkout" 명령을 사용하면 됩니다. 예를 들어, "dev"라는 브랜치로 전환하려면 명령줄에 다음을 입력하기만 하면 됩니다.

$ git checkout dev

이 방법으로 현재 작업 디렉터리의 "dev" 브랜치에서 작업을 시작할 수 있습니다. 메인 브랜치로 돌아가야 할 때는 git checkout 명령만 다시 실행하면 됩니다:

$ git checkout master

하지만 브랜치를 전환할 때는 현재 브랜치의 코드를 먼저 커밋하는 것을 잊지 않도록 주의하세요. 그렇지 않으면 코드가 커밋됩니다. 현재 분기가 손실될 수 있습니다.

3. 로컬 코드를 커밋하지 않고 브랜치를 전환합니다

그러나 어떤 경우에는 브랜치를 전환할 때 현재 브랜치의 코드를 커밋하고 싶지 않습니다. 예를 들어, 매우 복잡한 프로젝트에서는 지점에서 몇 가지 수정 사항을 적용하고 일정 기간 동안 테스트해야 할 수 있지만 이러한 수정 사항을 원격 웨어하우스에 적용하고 싶지는 않습니다. 이때, 지점 전환 시 현재 지점의 현지 코드를 제출하지 않아도 됩니다.

Git에서는 "stash" 명령을 사용하여 현재 브랜치의 수정 사항을 임시로 저장한 다음 브랜치를 전환할 수 있습니다. 구체적인 단계는 다음과 같습니다.

  1. 현재 분기에서 stash 명령을 사용하여 현재 분기의 수정 사항을 저장합니다.
$ git stash save "Change comment here"

이런 방식으로 현재 분기의 수정 사항이 임시 "아카이브"에 저장됩니다. .

  1. git checkout 명령을 사용하여 대상 브랜치로 전환합니다.
$ git checkout dev
  1. 대상 브랜치에서 필요한 사항을 수정합니다.
  2. 원래 브랜치로 돌아가야 하는 경우 다음 두 가지 작업을 수행하면 됩니다.

① 원래 브랜치로 다시 전환:

$ git checkout master

② 임시 아카이브에서 수정 사항 복원:

$ git stash apply

이런 식으로, 커밋하지 않고 현재 브랜치를 커밋할 수 있습니다. 로컬 수정 시 브랜치를 전환합니다.

4. 요약

Git에서는 분기 전환이 매우 일반적인 작업입니다. 하지만 지점을 전환할 때는 데이터 손실을 방지하기 위해 현재 지점의 로컬 코드를 제출하는 데 주의해야 합니다. 어떤 경우에는 로컬 코드를 커밋하지 않고 분기를 전환해야 할 수도 있습니다. 이때 stash 명령을 사용하여 현재 브랜치의 수정 사항을 임시 아카이브에 저장하고, 브랜치 전환 후 로컬 수정 사항을 복원할 수 있습니다. 이렇게 하면 로컬 수정 사항을 잃지 않고 분기를 전환할 수 있습니다.

위 내용은 git은 로컬 코드 없이 분기를 전환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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