Swoft Component
This reposiory is used to manage all swoft components.
IMPORTANT
All components will NOT be modified in the original repository of component, SHOULD ALWAYS be modified in this repository, also commit and push to this repository, and use git subtree push
to sync changes to the original repository of component.
Usage
Add an Sub Repository
git subtree add --prefix=src/[folder] [repository] [ref] --squash
Note that
--squash
option is required.
e.g. Add swoft/pipeline component as an Sub Repository,
git subtree add --prefix=src/pipeline git@github.com:swoft-cloud/swoft-pipeline master --squash
Commit changes
Just use git commit
as usual, and Push to this repository
Sync changes to the Original Repository of Component
git subtree push --prefix=src/[folder] [repository] [ref] --squash
Note that
--squash
option is required.
e.g. Add swoft/pipeline component as an Sub Repository
git subtree push --prefix=src/pipeline git@github.com:swoft-cloud/swoft-pipeline master --squash
Tips: You could use
remote
to instead of[repository]
property for easier to use.
e.g. AddRemote
first,git remote add -f pipeline git@github.com:swoft-cloud/swoft-pipeline.git
,
after this, you could usepipeline
instead of[repository]
,
for examplegit subtree push --prefix=src/pipeline pipeline master --squash
Release a new version of component
After Sync changes to the Original Repository of Component
, you just need to Release a new version in the original repository of component.
Pull changes from the Original Repository of Component
We do NOT suggest modify code in the original repository, but if you do, you could use the command below to merge it.
git subtree pull --prefix=src/[folder] [repository] [ref] --squash
Note that
--squash
option is required.
e.g. Pull swoft/pipeline repository into src/pipeline
git subtree pull --prefix=src/pipeline git@github.com:swoft-cloud/swoft-pipeline master --squash