Preview ng leksyon

고급 도구: 리베이스, 스태시, 체리픽 및 태그

이제 Git을 자신 있게 사용하는 사용자와 기본만 아는 사용자를 구분 짓는 도구로 넘어갑니다. 머지의 대안으로 리베이스를 살펴보며, 언제 리베이스가 히스토리를 더 깔끔하게 만들고 언제 악몽으로 만드는지 알아봅니다. 미완성 작업을 빠르게 '치워두는' 스태시, 커밋을 선별적으로 이동시키는 체리픽, 그리고 릴리스를 표시하는 태그를 추가합니다.

git rebase git stash git cherry-pick
Ano ang matututunan mo sa leksyong ito
  • 변경 사항을 잃지 않고 작업 간 전환을 위해 git stash를 사용할 수 있습니다.
  • rebase와 merge의 차이를 이해하고 상황에 따라 의식적으로 선택할 수 있습니다.
  • 대화형 rebase를 사용하여 커밋 히스토리를 편집하고 태그로 릴리스 버전을 표시하는 방법을 배웁니다.

Simula ng leksyon

문제 상황: 완료되지 않은 작업을 어떻게 미룰까?

  • 갑작스러운 버그 수정으로 작업이 중단됨
  • 완료되지 않은 코드는 커밋할 수 없음
  • Git stash - 변경 사항을 임시로 보관
  • 추적 중인 파일과 추적되지 않은 파일 모두 저장
  • 작업 디렉토리를 깨끗한 상태로 되돌림

상상해보세요. 새로운 기능 개발에 한창 집중하고 있는데 갑자기 긴급 버그 수정 요청이 들어옵니다. 모든 것을 중간에 놔두고 싶지도 않고, 완성되지 않은 코드를 커밋할 수도 없습니다. 바로 이런 상황을 위해 git stash가 있습니다. 마치 디지털 임시 선반과 같아서, 게임에서 일시 정지를 누르는 것과 같습니다. 현재 진행 상황은 저장되고, 다른 일을 처리할 수 있습니다. 다시 돌아오면 모든 것이 그대로 남아 있습니다. -u 플래그를 잊지 않았다면 추적되지 않은 파일까지 포함해서요. 이는 여러 작업을 동시에 머릿속에 담아둘 필요를 없애줍니다.

변경 사항 저장 및 확인

  • git stash save - 변경 사항을 저장소에 저장
  • git stash list - 저장된 변경 사항 목록 표시
  • 각 stash에는 고유 ID가 할당됨
  • stash@{0} - 가장 최근에 저장된 변경 사항
  • 저장소는 작업 디렉토리의 상태를 보관

실제로 git stash를 어떻게 사용하는지 자세히 알아보겠습니다. git stash save 명령은 작업 디렉토리와 인덱싱된 파일의 모든 변경 사항을 저장하고, 깨끗한 상태로 되돌려줍니다. 여러분의 작업물은 사라지지 않고 특별한 저장소에 보관됩니다. 변경 사항이 저장되었는지 확인하려면 git stash list를 실행하세요. stash@{0}과 같은 고유 식별자와 함께 연기된 모든 작업 목록이 표시됩니다. 이는 여러 작업을 빠르게 전환해야 할 때 진행 상황을 잃지 않도록 해주는 매우 편리한 기능입니다.

# 현재 변경 사항 저장
git stash save "WIP: New feature login form"

# 저장된 변경 사항 목록 확인
git stash list

# 가장 최근 stash의 내용 보기
git stash show -p

미뤄둔 변경 사항 되돌리기

  • git stash pop - 가장 최근 stash를 적용하고 삭제
  • git stash apply - 삭제하지 않고 적용
  • 코드 변경 시 충돌이 발생할 수 있음
  • 충돌은 수동으로 해결
  • stash@{n} - 특정 저장 항목에 접근

미뤄둔 작업으로 돌아갈 때는 두 가지 옵션이 있습니다. git stash pop 명령은 가장 최근에 저장된 변경 사항을 적용하고 stash 목록에서 자동으로 삭제합니다. 반면, 변경 사항을 단순히 확인하거나 여러 번 적용하고 싶다면 git stash apply를 사용하세요. 변경 사항은 저장소에 그대로 남아 있습니다. 중요한 점은, stash를 저장한 이후 코드에 변경이 있었다면 충돌이 발생할 수 있다는 것입니다. 이런 경우 Git이 문제를 알려주고, 여러분이 수동으로 충돌을 해결해야 합니다.

# 가장 최근에 미뤄둔 변경 사항 되돌리기
git stash pop

# 또는 삭제하지 않고 적용하기
git stash apply

# 특정 stash를 인덱스로 지정하여 적용하기
git stash apply stash@{1}

Buong leksyon ay para sa subscription

25 pang slide sa buong bersyon.

Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.

Mag-sign in o magparehistro Mag-subscribe

Nilalaman ng leksyon

  1. 문제 상황: 완료되지 않은 작업을 어떻게 미룰까?
  2. 변경 사항 저장 및 확인
  3. 미뤄둔 변경 사항 되돌리기
  4. Stash 사용 시 주의할 점
  5. 브랜치 병합은 어떻게 작동할까?
  6. Rebase: 커밋 기록 다시 쓰기
  7. 상황별 사용법: 실전 시나리오
  8. 리베이스의 위험성: 무엇이 문제가 될 수 있을까
  9. 리베이스란 무엇이며 왜 필요한가
  10. 리베이스 수행: 단계별 분석
  11. 리베이스 충돌 해결
  12. 대화형 리베이스: 커밋 기록 편집기
  13. 대화형 리베이스의 주요 명령어
  14. 실습: 기록을 완벽하게 만들기
  15. 주의: 게시된 기록 변경
  16. 공유 브랜치에서 rebase를 하면 안 되는 이유
  17. 실패한 rebase에서 복구하는 방법
  18. 안전한 기록 수정 방법
  19. Git에서 cherry-pick이 필요한 이유
  20. git cherry-pick 사용 방법
  21. 언제 선택할까: cherry-pick vs merge vs rebase
  22. Git 태그: 중요한 커밋을 위한 북마크
  23. 주석 태그와 경량 태그 만들기
  24. 태그를 원격 저장소에 게시하기
  25. 시나리오: 개발 중 핫픽스
  26. rebase와 cherry-pick을 이용한 변경사항 통합
  27. 흔한 실수와 피하는 방법
  28. 요약: Git 마스터의 새로운 무기고

Mga artikulo tungkol sa araling ito

Lahat ng leksyon ng kurso

  1. 소개: 완전 초보에서 자신 있는 개발자로 성장하기 위한 Git
  2. Git가 왜 필요한가? — 취업에 왜 필수인가
  3. Git 설치 및 설정: 첫 실행을 위한 준비
  4. 첫 번째 저장소: init, add, commit과 인덱스의 마법
  5. 히스토리 읽기: log, diff, show 및 과거 탐색
  6. 브랜치: 코드의 평행 현실
  7. 오류 취소하기: restore, reset, revert — 올바른 방법과 위험한 방법
  8. GitHub 및 원격 저장소: 클라우드에 코드 저장하기
  9. 팀워크: 포크, 기능 브랜치 및 풀 리퀘스트
  10. 병합 충돌: 당황하지 말고 이해하고 해결하기
  11. 실제 팀의 Git 프로세스: 어떤 워크플로우를 선택할까
  12. 고급 도구: 리베이스, 스태시, 체리픽 및 태그
  13. 최종 프로젝트: 실제 팀 개발 시뮬레이션