태그: #git
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 30 편
커널 소스에서 길 찾기 — clone부터 "이 동작을 하는 코드"를 찾아내기까지
커널 학습에서 실제로 가장 자주 쓰게 되는 기술은 읽기가 아니라 찾기입니다. 어떤 트리를 받을지부터 정리합니다. mainline, stable, longterm이 각각 무엇이고 kernel.org의 릴리스 표를 어떻게 읽는지, torvalds 트리와 stable 트리 중 무엇을 clone해야 하는지, 얕은 복제가 언제 손해로 돌아오는지를 다룹니다. 그다음이 이 글의 본론입니다. 알고 있는 동
2026-08-19 · 29 분 읽기 #linux#kernel#kernel-source#git#cscopeGit 되돌리기 완전 가이드: 복구되는 것과 영원히 사라지는 것
reset, revert, restore, reflog, fsck의 경계선을 복구 가능성 기준으로 정리합니다. reflog 만료 정책과 gc가 언제 객체를 실제로 지우는지, 강제 푸시 사고와 워크트리·서브모듈 상황까지 다룹니다.
2026-08-15 · 27 분 읽기 #git#버전관리#복구#운영#협업에이전트를 다섯 개 돌리면 정말 다섯 배 빨라질까 — 병렬 작업의 병목은 생성이 아닙니다
코딩 에이전트를 여러 개 동시에 돌리는 전용 환경이 늘고 있습니다. Orca는 그중 하나로, 프롬프트 하나를 여러 에이전트에 뿌리고 각각을 별도의 git worktree에 격리한 뒤 결과를 비교해 하나를 병합하는 방식을 내세웁니다. 그런데 처리량을 늘리면 병목은 사라지지 않고 자리를 옮깁니다. 옮겨 가는 곳이 리뷰와 병합이라는 것을 리틀의 법칙으로 짚고, 도구를 설치하기 전에 git work
2026-08-09 · 16 분 읽기 #developer-tools#git#worktree#code-review#workflowGitHub Stacked PR 완전 가이드 — 네이티브 스택 PR이 해결한 것과 그대로 남긴 것
2026년 7월 30일 GitHub이 Stacked Pull Requests를 퍼블릭 프리뷰로 공개했습니다. 큰 변경을 의존 순서가 있는 작은 PR 여러 장으로 쪼개 병렬로 리뷰하고 한 번에 병합하는 워크플로가 웹 UI와 gh-stack CLI 확장으로 기본 제공됩니다. 이 글은 스택이 실제로 해결하는 문제, GitHub 네이티브 구현이 하는 일과 하지 않는 일, 베이스 브랜치가 움직일 때
2026-07-31 · 23 분 읽기 #github#stacked-pr#code-review#git#developer-workflowGit 내부 구조로 이해하는 명령어 — 객체, 참조, 인덱스로 다시 읽는 reset과 rebase
Git 명령을 외우면 매번 검색하게 되지만, 데이터 모델을 알면 명령의 동작이 추론됩니다. 이 글은 blob과 tree와 commit과 tag라는 네 가지 객체, 같은 내용이 언제나 같은 해시를 갖는 콘텐츠 주소 지정, 브랜치가 41바이트짜리 파일에 불과하다는 사실, 그리고 인덱스가 실제로 무엇을 담고 있는지를 cat-file과 ls-files로 직접 열어 보며 확인합니다. 이 모델을 알면
2026-07-26 · 20 분 읽기 #git#internals#git-objects#fundamentals#version-controlgit이 느려질 때 — 대형 저장소를 빠르게 만드는 구조적 처방
저장소가 느려지는 이유는 하나가 아닙니다. 커밋 이력이 긴 것, 파일 수가 많은 것, 큰 바이너리가 들어 있는 것은 서로 다른 문제이고 처방도 다릅니다. 이 글은 먼저 원인을 구분하는 측정 명령부터 시작해, 얕은 클론과 부분 클론이 왜 대체재가 아니라 용도가 다른 도구인지, sparse-checkout과 파일 감시가 status를 어떻게 줄이는지, commit-graph가 로그와 병합 기준점
2026-07-26 · 20 분 읽기 #git#performance#monorepo#git-lfs#version-controlgit 되돌리기 — 상황별로 고르는 restore, reset, revert, reflog
되돌리기 명령을 외우면 매번 검색하게 되지만, 무엇을 되돌리려는지 먼저 분류하면 명령은 저절로 결정됩니다. 워킹 디렉터리, 스테이징, 마지막 커밋 메시지, 커밋 자체, 이미 푸시한 커밋, 삭제한 브랜치까지 여섯 가지 상황으로 나누고 각각의 정확한 명령과 위험도를 정리했습니다. reset의 soft와 mixed와 hard가 HEAD, 인덱스, 워킹 트리 중 무엇을 옮기는지 표로 보여 주고, 푸
2026-07-26 · 19 분 읽기 #git#undo#reset#reflog#version-controlgit merge vs rebase — 무엇을 언제 쓰고, 공유 브랜치는 왜 리베이스하지 않는가
merge와 rebase의 차이는 그림이 아니라 커밋 해시로 봐야 정확합니다. 리베이스는 커밋을 옮기는 명령이 아니라 부모가 달라진 새 커밋을 만드는 명령이고, 해시가 바뀐다는 그 사실 하나가 공유 브랜치를 리베이스하지 말라는 황금률의 유일한 근거입니다. 이 글은 실제 커밋 해시와 reflog 출력으로 그 변화를 보여 주고, 머지 커밋이 소음이라는 통념을 first-parent 로그로 반박하
2026-07-26 · 19 분 읽기 #git#rebase#merge#version-control#workflow.gitignore가 작동하지 않을 때 — 원인 1위와 패턴 규칙 정독
무시 목록에 분명히 적었는데 파일이 계속 올라오는 이유는 대부분 하나입니다. 이미 추적 중인 파일에는 무시 규칙이 적용되지 않습니다. 이 글은 인덱스에서 빼는 정확한 명령과 그 명령이 동료의 작업 디렉터리에서 파일을 지운다는 부작용, 어느 규칙이 범인인지 Git에게 직접 물어보는 check-ignore 사용법과 추적 중인 파일에서는 아무것도 출력하지 않는 함정, 선행 슬래시와 후행 슬래시와
2026-07-26 · 19 분 읽기 #git#gitignore#troubleshooting#security#version-controlgit history — Git이 rebase 옆에 놓은 실험적 history 재작성 명령어
Git 2.54(2026-04-20)에 git history라는 새 명령어가 실험적으로 들어왔고, 2.55(2026-06-29)에서 fixup 서브커맨드가 추가됐습니다. reword/split/fixup 세 가지 흔한 history 재작성 작업을 인터랙티브 rebase 없이 명령 한 줄로 처리하고, 대상 커밋의 자손 브랜치들을 원자적 ref 트랜잭션으로 한꺼번에 갱신합니다. 메인테이너 Pat
2026-07-16 · 28 분 읽기 #git#version-control#jujutsu#rebase머지되는 PR과 커밋 메시지 쓰기
리뷰가 빨리 끝나고 빨리 머지되는 PR에는 공통점이 있습니다. 작고 목적이 하나인 PR, Conventional Commits, "무엇"이 아니라 "왜"를 담은 커밋 본문, 스스로 하는 셀프 리뷰, 맥락·변경·테스트를 담은 PR 설명, 리뷰어에 대한 공감, 그리고 스택 PR까지. 리뷰어의 시간을 아끼는 것이 곧 내 PR을 빨리 통과시키는 길입니다.
2026-06-26 · 16 분 읽기 #git#code-review#collaborationGit은 데이터를 어떻게 저장하나
Git을 매일 쓰면서도 내부가 어떻게 생겼는지는 모르는 경우가 많습니다. blob·tree·commit·tag로 이루어진 객체 모델, SHA 해시로 내용을 주소화하는 방식, 커밋 DAG, 브랜치는 그냥 포인터라는 사실, .git 디렉터리의 실제 모습, 같은 내용이 한 번만 저장되는 이유, 그리고 팩파일까지. Git의 진짜 데이터 모델을 파헤칩니다.
2026-06-13 · 27 분 읽기 #git#version-control#fundamentals모던 Git 도구 2026 — Git 2.46+ / lazygit / gitui / gh CLI / jj (Jujutsu) / Sapling (Meta) / GitButler / magit / vim-fugitive 심층 가이드
2026년의 Git 생태계는 CLI/TUI/GUI/에디터 4개 진영으로 분화되었습니다. Git 2.46-2.50 코어의 점진 개선, lazygit/gitui TUI, gh/glab/tea CLI, jj(Jujutsu)와 Sapling 같은 새로운 모델, GitButler 같은 Tauri GUI, magit과 vim-fugitive, git-cliff, pre-commit/husky/lefth
2026-05-16 · 41 분 읽기 #git#git-tools#git-2-46#lazygit#gitui리뷰 가능한 PR 쓰기: 작은 PR, 좋은 설명, 스택 PR로 리뷰어를 빠르게 만드는 법
PR의 리뷰 지연 시간은 작성자가 통제합니다. 작은 PR이 이기는 이유, '하나의 PR = 하나의 아이디어' 원칙, 가장 중요한 산출물인 PR 설명, 읽히는 디프 만들기, 스택 PR, 셀프 리뷰, 리뷰 피드백에 잘 답하는 법, 그리고 AI 시대의 PR 작성까지 — 복사해서 쓰는 PR 설명 템플릿과 함께 정리합니다.
2026-05-14 · 41 분 읽기 #pull-request#code-review#git#stacked-prs#collaborationGit Internals Deep Dive — Object Model, Packfile, Merge 알고리즘, Reflog, 프로토콜 완전 정복 (2025)
매일 사용하지만 대부분 개발자가 블랙박스로 여기는 도구, Git. 이 글은 Git의 내부를 처음부터 해부합니다. Content-addressable 파일시스템으로서의 본질, blob/tree/commit/tag 객체 모델, SHA-1 해시 체인, 느슨한 객체(loose object)와 packfile, 델타 압축, refs와 packed-refs, index(스테이징 에어리어), ort 알고
2026-04-15 · 37 분 읽기 #git#version-control#object-model#packfile#mergeGit 내부 구조 완전 해부 — Object, Ref, Packfile, Reflog, Rebase/Merge 메커니즘 끝장 가이드 (2025)
매일 쓰는 git이지만 .git 디렉터리 안을 제대로 들여다본 적 없다면. Blob/Tree/Commit 객체부터 packfile delta 압축, reflog로 되살리기, rebase가 실제로 하는 일, merge 알고리즘(3-way, recursive, ort), 그리고 sha1 → sha256 전환까지 — Git의 그래프 데이터베이스로서의 본질을 10,000자로 파헤칩니다.
2026-04-15 · 34 분 읽기 #git#version-control#internals#packfile#merge코드 리뷰와 Merge 파이프라인의 현대 — PR·Merge Queue·Stacked PRs·Monorepo·AI Review·Trunk-Based·Husky·Semgrep 심층 가이드 (2025)
매일 하면서 가장 안 얘기하는 활동. PR 사회학·Code Owner·Merge Queue(GitHub/Mergify/Aviator/Graphite)·Stacked PRs(Graphite·Sapling·Jujutsu)·Monorepo vs Polyrepo 2025·Nx/Turborepo/Moon/Bazel·AI 리뷰(CodeRabbit·Greptile·Ellipsis·Cursor)·Trunk
2026-04-15 · 19 분 읽기 #code-review#pull-request#merge-queue#monorepo#stacked-prsGit 마스터 가이드 — 기초부터 rebase, cherry-pick, bisect, worktree까지
Git의 내부 구조부터 고급 명령어(rebase, cherry-pick, bisect, worktree), 브랜칭 전략, PR 리뷰, 모노레포 관리까지 Git의 모든 것.
2026-04-12 · 22 분 읽기 #devops#git#version-control#github#branchingGit 내부 동작 원리: Blob, Tree, Commit, 그리고 DAG — Git이 진짜로 작동하는 방법
Git의 내부를 완전 해부! Blob/Tree/Commit 객체 모델, SHA-1 해싱, .git 디렉토리 구조, DAG(방향 비순환 그래프), 브랜치의 실체(포인터), merge vs rebase 내부 동작, reflog 복구, pack 파일 압축까지.
2026-03-24 · 30 분 읽기 #git#internals#blob#tree#commitGitHub Actions CI/CD 완전 정복: Go 빌드부터 브랜치 전략, 자동 배포까지
GitHub Actions로 Go 프로젝트의 CI/CD 파이프라인을 구축하는 완전 가이드. Trunk-Based Development, GitHub Flow, Git Flow 브랜치 전략 비교부터 멀티 스테이지 Docker 빌드, K8s 자동 배포, 시크릿 관리, 매트릭스 빌드, 캐싱 최적화까지.
2026-03-23 · 58 분 읽기 #github-actions#ci-cd#go#golang#git