mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-24 05:14:06 -06:00
3.5 KiB
3.5 KiB
| title | draft | sr-due | sr-interval | sr-ease |
|---|---|---|---|---|
| Branch | true | 2022-04-10 | 13 | 210 |
0.1.1 Review Questions
-
name and describe two methodologies for using branches. Acronym for methodologies -> (GOOF)
- gitflow
- very structured
- uses a set of branches each with a specific purpose
- On the main branch
- focused on not creating new branches
- smaller self-contained commits are better
- Off the main branch
- most work occurs on a branch
- Feature branches
- each features has it's own branch which is merged and
deletedcan be worked on after completion
- each features has it's own branch which is merged and
- gitflow
-
what is the difference between a topic/feature branch and a persistent branch
- feature branch
- used for a fixed term task such as a bug or a feature
- persistent branch
- branch that exists for the lifetime of the project
- feature branch
-
what is continuous intergration
#review
Branch
Split current dev path into two to work on e.g., a bug or a feature
1 Overview
- allows users to work independently
- development continues independently along each branch
- can easily switch between branches
- can push a branch without affecting others
- branches can be merged back into the original
- always at least one main branch (usually master, main, trunk)
2 Default branch
used to be called master now called main
3 Methodologies
3.1 Working on the main branch
focuses on not creating branches
- over time long branches become difficult to merge
- smaller, self-contained changes are encouraged
- focus on main code objective, avoiding side-experiments
sometimes this is not possible
- complex bugs or features need branches
pair programming
- e.g., vs code allows multiple developers to work on the same code at the same time.
3.2 Working off the main branch
- branches can be shared with teams
- still isolated commits from the main branch
- more commits can be added to a branch after it has been merged
3.3 Feature branching
all new features are developed in a separate branch merging to the branch "adds" that feature after a feature is added, it call still be added to using the same branch
3.4 Gitflow
viewed as ovecomplicated a set of shell scripts helps it be used highly structured
e.g.,
- main branch -> branch has commit for release versions
- develop branch -> branch is where development occurs
- feature branch -> branches branch off development branch
- release branch -> branch polishes for release
- hotfix -> branches of main branch thence into develop
4 continuous integration
5 Topic/feature branch
- created for a specific purpose .e.g, bug/feature
- can pull from remote without marge conflicts (should be only one person working on branch)
- the more short-lived branches are the less likely there are to be merge conflicts with main
6 Persistent branch
- long term branch that exists for the lifetime of the project
- e.g.,
- release branches
- release v1, start on v2
- security flaw in v1, needs to be fixed
- v2 not finished yet
- create branch at last v1 commit and fix there
- also fix in v2 (if applicable)
- v1 branch will last until v2 is released
- specialsed versions of code base
- e.g., to support specific platforms or hardware
- e.g., to support feaures for a specific customer
- features for this specilised version on go on that branch
- keeps specialised code out of main codebase
- release branches