pile·
기타·gitlab-engGitLab Blog·

Git 2.55.0의 새로운 기능들

Git 2.55.0의 주요 신기능을 다룬다. git history fixup 명령으로 스택 워크플로우에서 fixup 커밋과 인터랙티브 리베이스를 단일 명령으로 통합하고, Linux fsmonitor 데몬 지원으로 대형 모노레포의 git-status 성능을 높인다. Rust가 2.55부터 빌드 의존성으로 공식화됐다.

핵심 포인트
  • git history fixup <commit-id> 명령이 staged 변경사항을 기존 커밋에 자동 병합하고 관련 브랜치까지 업데이트해, fixup 커밋 생성+인터랙티브 리베이스 두 단계를 대체한다.
  • Linux inotify(7) 기반 fsmonitor 데몬이 추가돼 대형 모노레포에서 git-status 속도를 파일 시스템 변경 캐싱으로 향상시킨다.
  • git push forks main으로 여러 리모트에 동시 push가 가능해졌다(이전에는 fetch만 지원).
  • --graph-lane-limit=<n> 옵션으로 ASCII 커밋 그래프 너비를 제한해 터미널에서의 가독성을 확보한다.
  • Rust 컴파일러 지원이 2.55부터 기본 의무화됐다(비활성화 옵션: Meson의 경우 meson configure -Drust=disabled, Makefile의 경우 NO_RUST=YesPlease).
상세 정리
  • git history fixup: Patrick Steinhardt 구현. 기존 워크플로우인 fixup 커밋 생성→git rebase -i 두 단계를 단일 명령으로 통합. 스택 브랜치 워크플로우에서 관련 브랜치도 자동 업데이트.
  • Linux fsmonitor: inotify(7) 시스템 콜을 사용해 파일 시스템 변경을 캐싱. Windows/macOS 구현에 이어 Linux까지 완성. 대형 디렉터리가 많은 저장소는 fs.inotify.max_user_watches 한계를 초과할 수 있다는 주의사항이 있다.
  • Remote Group Push: remote.<name>.push 매핑과 미러 설정을 각 리모트별로 존중하며 동시 push. git-fetch와 동일한 그룹 기능이 push에도 추가됨.
  • 그래프 레인 제한: --graph-lane-limit=<n> 옵션이 초과 레인을 ~ 마커로 대체해 터미널 폭 초과 시 가독성 보존.
  • Rust 의무화: 2.49부터 점진적 도입, 2.55에서 기본 의무화. 비활성화는 Meson(meson configure -Drust=disabled) 또는 Makefile(make NO_RUST=YesPlease).
  • Partial Clone 성능: git-grep와 git-cherry가 partial clone에서 blob 다운로드를 배치 처리해 서버 왕복 횟수를 줄임.
왜 읽나대형 모노레포 운영이나 스택 브랜치 워크플로우를 사용하는 개발자에게 Git 2.55.0의 성능/UX 개선을 실용적으로 정리한 글.
gitlab-eng
GitLab Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 기타·stackoverflow-blogStack Overflow Blog·

    Selenium vs Cypress vs Playwright — 테스트 자동화 프레임워크 선택 가이드 2026

    2026년 기준 Selenium, Cypress, Playwright 세 가지 테스트 자동화 프레임워크를 아키텍처, 안정성, 비용, 브라우저 지원, 언어 지원 측면에서 비교한다. 세 프레임워크는 브라우저 제어 방식에서 근본적으로 다르며, 각각의 강점이 다른 사용 시나리오에 최적화되어 있다.

    #e2e-testing#test-automation#selenium+2