A Full-Scenario Git Branching Model for Large-Scale Dual-Mode Development and Its Practice in the Agricultural Bank Credit Management System (C3)
This article presents a comprehensive Git branching model designed for large-scale dual‑mode development, details naming conventions, granularity rules, code picking methods, shallow clone and sparse checkout techniques, and demonstrates its successful application in the Agricultural Bank's C3 credit management system while also announcing a related DevOps live event.
The article introduces a Git branching model tailored for large‑scale applications that simultaneously support waterfall and iterative development (dual‑mode). It first outlines a functional branch naming convention composed of repository name, team abbreviation, change source and number, feature abbreviation and work‑item number, and planned production date.
To manage the complexity of the Agricultural Bank Credit Management System group (C3), which comprises 20 subsystems, multiple technology stacks, environments, and hundreds of developers, the model enforces a granularity principle: each branch represents the smallest independent functional point that can be produced in the same release window, ensuring minimal, independent, and self‑contained development units.
For code sharing, two mechanisms are provided: “overall pick” transfers an entire commit from one branch to another, while “partial pick” allows selective file‑level or version‑level transfers, both executed via a one‑click UI without manual copying.
The model also addresses challenges of parallel waterfall and agile streams, such as frequent production date changes, environment‑specific testing, and code inconsistency. By unifying long‑term and short‑term branches, defining one‑way merge rules, windowed production branch management, and directed test‑branch pulling, the approach enables on‑demand branch creation, merging, and periodic cleanup, improving versioning efficiency and consistency across test environments.
To reduce local repository size and improve developer efficiency, the article describes a shallow clone operation (see Figure 2) and a sparse checkout configuration. The steps include enabling the sparsecheckout feature via the Git context menu, editing the .git/info/sparse-checkout file to list visible and hidden paths, and re‑checking out the branch so that only required directories are present locally, cutting disk usage from ~900 MB to ~300 MB.
Overall, the proposed Git branching model has been validated in the C3 system, demonstrating feasibility, accurate delivery, and providing a reference for similar large‑scale projects, while acknowledging limitations such as potential code inconsistency when long‑running Dev or Master branches expose unstandardized code.
Additionally, the article announces a DevOps+LIVE technical livestream featuring experts discussing the 2018 Global DevOps State Report, with details on the event time, registration QR code, and community participation.
DevOps
Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.