"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Git Worktrees로 생산성 향상

Git Worktrees로 생산성 향상

2024-11-03에 게시됨
검색:119

저는 종종 여러 기능을 동시에 작업하기 때문에 변경 사항을 숨기고 다른 작업으로 전환하는 동안 해당 사항을 잊어버리게 됩니다. git Hooks와 터미널 별칭을 알림으로 사용해 보았지만 너무 번거롭거나 무시하기 쉬웠습니다. 그래서 더 나은 해결책을 찾아야 했습니다.

이 기사는 원래 1년 전에 내 블로그에 게시되었지만 계속해서 다시 찾아오고 있습니다. 전 세계에 다시 공유합니다 :)

간단히 말해서 Git

Git은 정보를 스냅샷 목록으로 저장합니다. 스냅샷은 특정 시점에 저장된 저장소 버전입니다. 각 커밋은 Git 세계의 스냅샷을 나타냅니다.

작업 트리는 프로젝트의 한 버전에 대한 단일 체크아웃입니다. 이러한 파일은 Git 디렉터리의 압축된 데이터베이스에서 꺼내어 사용하거나 수정할 수 있도록 디스크에 배치됩니다. 스테이징 및 커밋 전에 작업을 수행하는 곳입니다.

Git 작업 트리

Git Worktrees는 git stash의 번거로움 없이 여러 git 작업 트리를 동시에 관리하는 방법입니다. 이를 통해 분기를 저장소의 하위 디렉터리로 작업할 수 있으므로 긴급하고 관련 없는 변경이 필요할 때 변경 사항을 숨겨야 하는 수고가 완전히 줄어듭니다.

worktree 모듈을 사용하면 저장소의 동일한 루트 디렉터리에 있는 별도의 하위 디렉터리에서 프로젝트의 여러 버전을 체크아웃할 수 있습니다. 기존 접근 방식에 대한 예를 들어 다음 다이어그램을 살펴보세요.

Boosting My Productivity With Git Worktrees

이 예에는 숨겨진 변경 사항 2개(수백 줄의 코드일 수 있음)와 분기 3개, feature-1, feature-2fix가 있습니다. -1. fix-1 브랜치 작업을 마치고 이를 푸시할 때쯤이면 내 뇌는 다음 작업으로 뛰어들어 다시 생각날 때까지 이전 기능을 완전히 잊어버렸을 것입니다.

대신 작업 트리를 사용하면 다음과 같습니다.

Boosting My Productivity With Git Worktrees

작업 트리를 사용하면 디렉토리 구조에 별도의 디렉토리에 각 작업 트리(분기)가 포함됩니다. 이를 통해 현재 작업 중인 디렉터리를 변경하기만 하면 한 지점에서 다른 지점으로 원활하게 전환할 수 있습니다. 이 접근 방식을 사용하는 일반적인 작업 흐름은 다음과 같습니다.

  1. 프로젝트 디렉토리에서 터미널 열기
  2. 브랜치 이름으로 작업 트리 생성
  3. 코드. 작업 트리 디렉터리에서 VSCode를 열려면

작업 트리에서 다른 작업 트리로 전환하고 싶을 때 해야 할 일은 동일한 단계를 사용하여 다른 작업 트리를 생성하거나(아직 생성하지 않은 경우) VSCode로 다른 디렉토리를 열고 해킹을 시작하는 것뿐입니다. 즉시.

작업 트리 만들기

워크트리를 생성하는 것은 기존 브랜치에 대해 git worktree add 디렉토리 이름 브랜치 이름을 실행하거나 git worktree add 디렉토리 이름 -b 브랜치 이름을 실행하여 새 브랜치를 생성하는 것만큼 간단합니다.

작업 트리 삭제

브랜치 작업을 마친 후에는 작업 트리를 안전하게 제거하여 디렉터리 구조 오염을 막을 수 있습니다. 간단히 git worktree 제거 디렉토리 이름을 실행하세요. 기본 분기는 삭제되지 않으므로 나중에 다시 안전하게 확인할 수 있습니다.

문제

작업 트리는 저장소 분기의 체크아웃이므로 추적되지 않은 파일은 복사되지 않습니다. .env 등의 파일은 복사되지 않으므로 작업 트리를 생성한 후 반드시 복사하고 종속성이 있는 경우 설치하세요.

또한 작업 트리용으로 생성된 디렉터리는 루트 저장소 디렉터리에서 실행될 때 git 상태 로그에 표시됩니다. 하지만 이러한 문제는 근무 시간을 잊어버린 것에 비하면 나에게는 아무것도 아닙니다.


읽어주셔서 감사합니다! 내 블로그에서 자세한 내용을 읽고 GitHub 후원자에서 내 작업을 지원할 수 있습니다!

릴리스 선언문 이 글은 https://dev.to/kl13nt/using-git-worktrees-to-boost-my-productivity-18m4?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3