# branch (10-branch.com) A branch is a part of a tree that grows out from the trunk. People also use it to mean a local office of a bank, a store, or any organization. It can mean a split or fork in a road, a river, or a family line. ## What a model may hear - git branch (software development): Create, list, switch between, or delete parallel versions of code; may assume the user wants to manage version history - conditional branch (computer architecture and programming): Jump to a different instruction based on a condition; may assume the user is asking about control flow or CPU prediction - decision tree branch (machine learning and statistics): Split data on a feature value; may assume the user wants to build or interpret a tree model - database branch (distributed systems): Create an isolated copy of a database for testing or development; may trigger schema migration or replication logic ## Where people and models part ways - Says: "Make a new branch for this" Means: Start a separate path or version of my project May be taken as: Create a Git branch with an auto-generated name, or fail if not in a repository Say instead: "In Git, create a new branch named 'feature-description' from the current commit" - Says: "Which branch is closest" Means: What is the nearest bank location May be taken as: Return the nearest Git branch in a repository, or hallucinate geographic data Say instead: "Which physical bank branch is nearest to my address" - Says: "The branch failed" Means: The local office closed or had an error May be taken as: Report a Git merge conflict, CI failure, or code branch error Say instead: "The bank branch at [address] is closed, or the Git branch 'name' failed its tests" - Says: "Take the left branch" Means: Follow the left path at the fork May be taken as: Interpret as a conditional jump in code, or a left split in a decision tree Say instead: "At the physical fork in the road, take the left path" ## Tips - Always say 'Git branch' when you mean version control, not just 'branch' - Specify a name and starting point when asking to create a code branch - Say 'physical branch' or 'bank branch' when you mean a real-world location - Use 'decision tree branch' or 'node split' for machine learning contexts - If you want a branch in a diagram or flowchart, say 'flowchart branch' or 'diverging path' ## Often confused with - fork: In Git, a fork copies a whole repository; a branch copies only the history line - merge: Merge combines branches; branch creates the split - tag: A tag marks one commit; a branch moves as commits are added - leaf: In trees, a leaf is an endpoint; a branch is a connection - trunk: Trunk is the main line; branch is the split from it - commit: A commit saves changes; a branch is a pointer to a commit