Moving changes from one branch to another in Gi

이동 변경(아직 커밋하지 않았다면)
Git은 당신의 전체 폴더를 관리하지만, 파일에 대한 변경 사항은 커밋할 때까지 특정 Git 브랜치에 묶이지 않습니다. 브랜치를 이동하고, 그 변경 사항을 함께 가져올 수 있습니다.
가장 간단한 옵션은 단순히 브랜치를 전환하는 것입니다. 그러나 두 개의 대상 브랜치가 일치하는 기록을 가진다면 이 작업이만 가능합니다:
git checkout feature
이 문제를 해결하는 몇 가지 방법이 있습니다. 첫 번째는 새로운 브랜치를 만들고, 분기된 기록을 병합하는 것입니다:
git checkout -b tempfeaturegit checkout featuregit merge tempfeature또는 git stash를 사용하여 나중에 변경 사항을 저장하고 새로운 브랜치에서 재적용할 수 있습니다:
git stashgit switch featuregit stash apply이동 커밋(이미 커밋했다면)
이미 커밋했다면 걱정할 필요가 없습니다. 커밋은 리모트 소스 컨트롤로 푸시되기 전까지는 최종 상태가 아닙니다. 이미 했다면 문제를 수정할 수 있지만, 실수의 기록은 당신의 Git 기록에 남아 있으므로, 동료가 보기 전에 로컬에서 해결하는 것이 가장 좋습니다.
커밋을 되돌리려면 단순히 소프트 리셋을 사용할 수 있습니다. 일반적으로 마지막 커밋을 되돌리는 것이지만, 커밋 ID에 대한 참조를 전달할 수도 있습니다:
git reset HEAD~1
이렇게 하면 "아직 커밋하지 않았다면" 상태로 남아 있고, 그 후에 위의 방법을 사용하여 문제를 해결할 수 있습니다.
또는 git cherry-pick을 사용할 수 있습니다. 이 명령어는 한 브랜치의 커밋을 다른 브랜치로 복사하고, 깨끗한 방식으로 커밋을 선택하고 새로운 브랜치로 이동하는 좋은 방법입니다.
git log를 실행하여 원하는 커밋의 ID를 찾습니다:
git log
그런 다음 변경 사항이 커밋된 상태로 가정하고 기능 브랜치로 전환한 후 cherry-pick을 실행합니다:
git switch featuregit cherry-pick그 후에는 메인 브랜치에 중복된 커밋이 남아 있을 것입니다. 기능 브랜치가 올바르게 정렬되어 있다면 이 커밋을 리셋하고 변경 사항을 버리거나, 병합할 때 Git이 정리하도록 유지할 수 있습니다.
Git을 더 잘 사용하려면 항상 어떤 브랜치에 있는지 알 수 있는 방법에 대해 읽거나 기본적인 Git 명령어를 알고 있는지 확인할 수 있습니다.
카테고리
최신 글
- Satechi 키보드 SM3 메커니컬 키보드 리뷰: 조용하고 생산성에 완벽합니다.
- 이 오래된 휴대 전화가 나의 앞에서 화재 위험으로 변했다.
- 애플에서 초대하는 방법 10가지와 애플 캘린더의 차이점"
- Apple @ Work: Will Apple launch a Google Workspace competitor in 2025?
- Apple, iPhone SE 4 발표를 위한 특별 이벤트 개최 가능성이 낮다.
- 오늘 뉴욕 타임즈 연결(Connections)의 힌트와 정답 (2월 8일, #608)
- Ubuntu 20.04 LTS 지원이 종료될 예정입니다.
- 읽는 사람이 있으신가요? AI가 당신을 위해 읽어드리겠습니다.
- This is my Blu-ray player.
- 새로운 애플 제품이 다음 주에 출시될 예정입니다. 다음이 출시될 예정입니다.
최신 태그
- Slim SM3
- fire risk
- disposal
- damaged
- ithium-ion battery
- Visual Appeal
- Enterprise
- Collaboration
- AI voice
- Speechify