projects:projects
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:projects [2024/09/22 04:11] – [git Structure] jhagstrand | projects:projects [2026/06/14 03:11] (current) – [voyc release management] jhagstrand | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ======Projects====== | ======Projects====== | ||
| - | Each project is a web app, a subdomain | + | =====List |
| - | [[projects:voyc:voyc]] - aka [[projects: | + | Each project is a web app, a subdomain of voyc.com, stored in gitlab (previously github). |
| + | |||
| + | === For Developers === | ||
| + | |||
| + | [[projects:layout:layout]] - browser screen splitter | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | |||
| + | === Apps === | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| + | |||
| + | [[projects: | ||
| [[projects: | [[projects: | ||
| Line 11: | Line 36: | ||
| [[projects: | [[projects: | ||
| - | |||
| - | [[projects: | ||
| [[projects: | [[projects: | ||
| Line 34: | Line 57: | ||
| [[projects: | [[projects: | ||
| - | [[projects:account:account]] - submodule, user management | + | [[projects:model:model]] - starter project template |
| - | [[projects:fx:fx]] - submodule, library of game effects | + | [[projects:timeline:timeline]] - timeline |
| - | [[projects:model:model]] - starter project template | + | [[projects:voyc:voyc]] - leftover from when geo/global was voyc.com |
| - | [[projects:jslib:jslib]] - library of javascript tools | + | [[https:// |
| + | |||
| + | [[https:// | ||
| - | [[projects: | ||
| - | [[https:// | ||
| =====Developer Guidelines===== | =====Developer Guidelines===== | ||
| - | ====Search Engines==== | + | ==== Tab Indents ==== |
| + | |||
| + | Always use the tab character to indent. | ||
| + | |||
| + | ====.gitignore==== | ||
| + | |||
| + | robots.txt | ||
| + | .well-known/ | ||
| + | js.min | ||
| + | css.min | ||
| + | index.php | ||
| + | RELEASES.md | ||
| + | ==== Duplicate Content | ||
| Most of our projects have a dev and a production version.\\ | Most of our projects have a dev and a production version.\\ | ||
| Line 106: | Line 141: | ||
| All other repositories have remote //origin// pointing to voycgit.\\ | All other repositories have remote //origin// pointing to voycgit.\\ | ||
| webprod also has remote // | webprod also has remote // | ||
| - | + | ||
| get remote -v | get remote -v | ||
| $ origin ssh:// | $ origin ssh:// | ||
| Line 113: | Line 148: | ||
| Note that use the ssh protocol; never the local protocol. | Note that use the ssh protocol; never the local protocol. | ||
| - | ====git Workflow==== | + | ==== voyc git Workflow==== |
| - | === Develop in webapps or webdev=== | + | == refresh the local repo and worktree == |
| - | + | git clone ssh:// | |
| - | == recreate or refresh the worktree== | + | |
| - | git clone ssh:// | + | |
| - | or | + | |
| - | git clone / | + | |
| - | or | + | |
| git branch | git branch | ||
| git pull origin master | git pull origin master | ||
| git submodule foreach git pull origin master | git submodule foreach git pull origin master | ||
| - | == create a feature branch, do your work, commit== | + | == start development |
| - | git branch | + | git branch |
| - | git checkout | + | git checkout |
| + | |||
| + | == development == | ||
| <make changes> | <make changes> | ||
| git status | git status | ||
| - | git add * | + | git add . |
| - | git commit -m ' | + | git commit -m ' |
| + | git push origin popup # remote backup | ||
| + | |||
| + | == pull in simultaneous development from server - ???? == | ||
| + | git switch master | ||
| + | git pull origin master | ||
| + | git checkout popup | ||
| + | git rebase master | ||
| - | == merge to master, delete feature branch== | + | == complete development |
| git checkout master | git checkout master | ||
| - | git merge newfeature | + | git merge popup |
| - | git diff master..newfeature | + | git diff master..popup |
| - | git branch -d newfeature | + | git branch -d popup |
| + | git push origin master | ||
| + | git push origin -d popup # delete branch from central | ||
| - | == push finished master branch up to voycgit == | + | == in webprod == |
| - | git push origin master | + | |
| - | + | ||
| - | === Publish | + | |
| git pull origin master | git pull origin master | ||
| git push gitlab master | git push gitlab master | ||
| - | =====.gitignore===== | + | ==== voyc release management |
| - | robots.txt | + | Trends in release management as of 2026. |
| - | | + | * 50/72 rule. A commit message has three lines (title, blank, body). |
| - | js.min | + | |
| - | | + | |
| - | | + | |
| - | =====Create Bare Central | + | {{https:// |
| + | [[https:// | ||
| + | [[https:// | ||
| - | cd ~/ | + | At voyc we use these above trends in commit messages and tag messages. The log of commit messages is detailed for developers. |
| - | git remote set-url origin ssh: | + | |
| - | https:// | + | |
| - | git remote set-url origin ssh: | + | |
| - | cd ~/ | + | At deployment, a file named RELEASES.md is generated from the tag messages by a script. |
| + | |||
| + | [[..:git | more about log and tag]] | ||
| + | |||
| + | # All tags with their full messages, most recent first | ||
| + | git tag -l --sort=-version: | ||
| | | ||
| - | git push | + | git for-each-ref --sort=-version: |
| + | |||
| + | |||
| + | Practices: | ||
| + | * Commits made only in feature branch. | ||
| + | * We let aider auto-commit every change. | ||
| + | * At merge, we generally keep the detailed commits, but squash is optional. | ||
| + | * The commit log is for developers. | ||
| + | * At release, we create a tag, observing SemVer, with hand-written message. | ||
| + | * Public release history is generated from the tag messages. | ||
| + | * Conventional commits types are used only on the commit messages, not the tag messages. | ||
| + | |||
| + | |||
| + | ==== Deploy ==== | ||
| + | |||
| + | # in laptop dev repo | ||
| | | ||
| + | # git filter-repo --mailmap .mailmap --force | ||
| + | # lint | ||
| + | | ||
| + | git checkout master | ||
| + | git merge blend | ||
| + | git branch -d blend | ||
| + | | ||
| + | git tag v0.0.0 -m' | ||
| + | | ||
| + | git push origin master --force --tags | ||
| + | git push origin --delete blend | ||
| + | | ||
| + | # in production webserver | ||
| + | | ||
| + | git fetch origin | ||
| + | git reset --hard origin/ | ||
| + | | ||
| + | git push gitlab master --tags | ||
| + | |||
projects/projects.1726992683.txt.gz · Last modified: 2024/09/22 04:11 by jhagstrand