ande3577 / git-subtree-workflow-proposal Goto Github PK
View Code? Open in Web Editor NEWA proposed workflow for using Git subtree with shared code
A proposed workflow for using Git subtree with shared code
Since it can be either feature or issue, hence topic.
*Branch with parallel feature branches
*Create a version with and without squash to show the difference
Create separate branch with shared code
Rebase on latest shared library
Push changes to a specific branch in your shared repo.
Send email (our use issue tracker) to maintainer of shared library
include repo location, branch name, and target branch name
git merge -s subtree appears to have issues overwriting conflicts. It is possible that using the recursive branch strategy with a subtree argument would fix this.
Ideally, this would eliminate the step in the workflow of checking out out the local branch and allow for merging directly from the remote branch. This would also allow for eliminating the need for the library editing clones altogether and greatly streamline the process.
The downside is this would require the developer to specify the location of the module each time a merge is done, rather than only when read-dir is called.
would be a little cleaner and more organized
Pull from individual project repo
rebase on target branch
If get conflicts, reject pull request
Merge
How to handle if both library and project remote branches are changed? Can I rebase then push a shared branch?
Especially problematic in subtree merges. Lose history.
Not sure if this is possible with built-in git capabilities, may need to use deprecated git-subtree split.
i.e. is there a Push with subtree strategy?
Feature branch -> long term branch: merge
Long term -> feature: rebase
For each project that uses a subtree:
Including both -s subtree and -X subtree = forms
instead of creating multiple branches and switching back and forth. Clone the entire repository before creating the branch. This enables two branches to remain on disk at the same time, which eliminates the need to rebuild after branch switching.
Because should never rebase a publicly accessible branch. If someone else branches off of your branch, they'll wind up lost.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.