惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Cyberwarzone
Cyberwarzone
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)
Security Archives - TechRepublic
Security Archives - TechRepublic
W
WeLiveSecurity
Cloudbric
Cloudbric
博客园 - 司徒正美
美团技术团队
N
News and Events Feed by Topic
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
PCI Perspectives
PCI Perspectives
宝玉的分享
宝玉的分享
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
Last Week in AI
Last Week in AI
S
Schneier on Security
N
News | PayPal Newsroom
B
Blog RSS Feed
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
S
Secure Thoughts
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
L
Lohrmann on Cybersecurity
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Tenable Blog
S
Securelist
L
LangChain Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
InfoQ
H
Heimdal Security Blog
Cisco Talos Blog
Cisco Talos Blog
F
Full Disclosure
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
K
Kaspersky official blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
C
Cisco Blogs

Graphite blog

Introducing Code Tours: a new way to review Introducing Cursor Cloud Agents in Graphite Building the future of software development with Cursor Reimagining the PR Page: Designing for speed and focus Graphite changelog [11-20-2025] Graphite changelog [11-04-2025] Graphite changelog [10-16-2025] The future of engineering is collaborative (and already here) Meet Graphite Agent: the next evolution of AI code review Graphite changelog [09-17-2025] How we sped up code search for Graphite Chat Introducing Graphite Chat AI is writing code—here's why it also needs to review that code How I got Claude to write code I could actually ship How we built the first stack-aware merge queue (and why it matters) How we organize our monorepo to ship fast Graphite brings stacking to Tower Code review tooling: Should you build or buy? Making AI code review available to everyone Introducing: The new Graphite + Linear integration Graphite raises $52M and launches Diamond to reimagine code review for the age of AI Why AI will never replace human code review How stacked PRs unblock distributed development teams Graphite is going to Developer Week 2025 Beating the end of year code freeze How Graphite’s eng team ships code remarkably fast Why we chose Anthropic's Claude to power Graphite Reviewer AI code generation will remain fragmented How we redesigned Graphite's landing page in-house Introducing Graphite Reviewer: your AI code review companion How AI code review reduces review cycles to improve developer productivity What if you could get instant feedback on your code? The new developer toolchain Not Rocket Science - How Bors and Google’s TAP inspired modern merge queues Graphite's State of code review 2024 How Google migrated billions of lines of code from Perforce to Piper Going from 0 to 1: How to write better unit tests when there are none Speed up your merges: Parallel CI is now generally available for teams using Graphite’s merge queue Down for less than four minutes a month: how AWS deploys code BitKeeper, Linux, and licensing disputes: How Linus wrote Git in 14 days Graphite is now free for startups and open source projects Launch week wrap-up (May 2024) Reduce CI costs for Buildkite and GitHub Actions Cheaper CI & faster merging with batching How Google does code review The technical learning curve at a startup is gentler than you might think Graphite will now automatically rebase your partially-merged stacks Multiple engineers can now seamlessly collaborate on the same stack of PRs Do you ever outgrow GitHub? From the 80's to 2024 - how CI tests were invented and optimized Graphite changelog [4/10/2024] 🎺 Graphite changelog [4/25/2024] 🐸 How Stack Overflow replaced Experts Exchange How GitHub monopolized code hosting Graphite changelog [3/27/2024] 🤝 The core principles of building a good AI feature Onboarding roulette: deleting our employee accounts daily Graphite changelog [3/13/2024] 🚁 Why Facebook doesn’t use Git How to recreate the Phabricator code review workflow Types of code reviews: Improve performance, velocity, and quality What's the best GitHub pull request merge strategy? Phabricator vs GitHub vs Graphite: How do they stack up? Improving team velocity through better pull request practices Moving fast breaks things: the importance of a staging environment Building trust as a software engineer Keeping code simple: moving fast by avoiding over-engineering What's better than GitHub pull request filters? The Graphite pull request inbox 7 Best Phabricator alternatives for PR stacking + code review [2024] Accurate eng estimations: predicting and negotiating the future Tracking and understanding GitHub PR stats: A step-by-step guide 8 pull request best practices for optimal engineering What’s next for Graphite Graphite Q1 Launch week: Stacking with the tools you love Graphite Q1 Launch week: Making stacking seamless Accelerating code review The Mom Test How to use stacked PRs to unblock your entire team Graphite Q1 launch week 2024 The practical and philosophical problems with AI code review Empirically sup code review best practices Call site attribution: how to pinpoint rogue SQL queries throttling your performance Every engineer should understand git reflog Post mortem: we took 124 seconds from you, here's 378 back Your GitHub pull request workflow is slowing everyone down Optimizing CI/CD workflows for trunk-based development Why we use AWS instead of Vercel to host our Next.js app How large pull requests slow down development 3 key lessons in application server optimization Trunk-based development: why you should stop using feature branches Git was built in 5 days Why large companies and fast-moving startups are banning merge commits How long should your CI take? Experimenting with AI code review CRA to AppRouter in 5 Steps: A case study with Graphite Graphite Changelog [10/18/2023] The comprehensive guide to writing the best PR title of all time How 10,000 Developers All Contribute to the same Repo
Introducing frozen branches: A safer way to build on your teammates’ work
David Bradfo · 2025-09-18 · via Graphite blog

Collaboration is at the heart of modern software development. When multiple engineers work together on a feature or release, it’s common to build on top of each other’s work. But with that flexibility comes risk: accidentally changing a teammate’s branch that is supposed to remain untouched.

With gt version 1.7.0, we’re introducing a new way to collaborate with confidence: frozen branches.

What are frozen branches?

A frozen branch is a branch that stays up to date with remote changes but blocks local edits. This ensures you can safely pull down and build on a coworker’s branch without worrying about accidentally modifying their work.

Think of it as read-only mode for branches. It's perfect for when you want visibility and stability without the risk of stepping on toes.

How it works

  • Automatic freezing with gt get

    When you use gt get to pull down a new branch, it will now be marked as frozen by default. If you’d prefer an editable version, you can pass the --unfrozen flag.

  • Manually freeze or unfreeze

    Use gt freeze and gt unfreeze at any time to toggle a branch’s frozen state.

  • Check branch status

    Not sure if a branch is frozen? Commands like gt info and gt log clearly display the status.

Examples of frozen branches

Get my coworkers branch:

$ gt get 1646

🌲 Fetching branches from remote...

Running git fetch: [========================================] 100% | Done

main is up to date.

🔄 Syncing branches...

Synced add-api-branch (PR

Checked out add-api-branch.

Branch add-api-branch was retrieved in 'frozen' mode, making it uneditable. Use `gt unfreeze` to make it editable.

Check the status:

$ gt info

add-api-branch (frozen)

3 minutes ago

PR

https://app.stg.graphite.dev/github/pr/my-org/my-repo/1646

Last submitted version: v1

Parent: main

commit ea6404a74ddb0d9599cefa4d027d064916a58c9f

Author: My coworker <coworker@company.com>

Date: Wed Sep 3 13:29:49 2025 -0400

Add important API to the codebase

Modification via gt will be blocked:

$ echo hello > world.txt

$ gt modify --all

ERROR: Cannot perform this operation on frozen branch add-api-branch. You

can unfreeze it with gt unfreeze add-api-branch.

Including restack and sync:

$ gt restack

Did not restack branch add-api-branch because it is frozen.

But new branches can be built on top of it:

$ gt create --all --message "new feature using the api"

1 file changed, 1 insertion(+)

create mode 100644 change.txt

$ gt ls

◉ new_feature_using_the_api

◯ add-api-branch (frozen)

◯ main

Remote changes can still be retrieved via gt sync or gt get:

$ gt sync

🌲 Fetching branches from remote...

Running git fetch: [========================================] 100% | Done

main is up to date.

🔄 Syncing branches...

Synced add-api-branch (PR

🥞 Restacking branches...

add-api-branch does not need to be restacked on main.

Restacked new_feature_using_the_api on add-api-branch.

Why this matters

Frozen branches give teams more confidence when stacking work across multiple contributors. With frozen branches, you can:

  • Build faster: Start stacking new changes on a coworker’s branch without hesitation.

  • Avoid mistakes: Protect against accidental edits that can cause merge conflicts or overwrite someone else’s progress.

  • Stay aligned: Always pull the latest updates while keeping the original branch safe.

By making collaboration safer and smoother, frozen branches reduce the friction of shared development workflows.

Get started today

Upgrade to gt version 1.7.0 to start using frozen branches. Try it out the next time you pull down a teammate’s branch, and experience safer, more reliable collaboration.

👉 Run gt get <branch> and see it in action.

Related articles