User Tools

Site Tools


projects:projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:projects [2026/06/12 21:14] – [Deploy] jhagstrandprojects:projects [2026/06/16 03:27] (current) – [End Branch] jhagstrand
Line 207: Line 207:
   git for-each-ref --sort=-version:refname --format="%(refname:short)%0a%(contents)%0a---" refs/tags   git for-each-ref --sort=-version:refname --format="%(refname:short)%0a%(contents)%0a---" refs/tags
  
-==== Deploy ====+ 
 +Practices: 
 +  * Commits made only in feature branch.  Never on the master 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. 
 + 
 + 
 +==== One-time Fix Privacy in Log ====
  
   # in laptop dev repo   # in laptop dev repo
-   +  git checkout fixlog 
-  git filter-repo --mailmap .mailmap --force +  git filter-repo --mailmap .mailmap --force
-  # lint+
      
   git checkout master   git checkout master
-  git merge blend +  git merge fixlog 
-  git branch -d blend+  git branch -d fixlog
      
-  git tag v0.0.0 -m'...'+  git push origin master --force --tags   # push to bare repo 
 +  git push gitlab master --force --tags   # push to gitlab 
 + 
 +==== Start Branch ==== 
 +  git branch peaceful 
 + 
 +==== Save Work ==== 
 +  # save work 
 +  git checkout peaceful 
 +  git push origin peaceful     # push feature branch to bare repo
      
-  git push origin master --force --tags +==== End Branch ==== 
-  git push origin --delete blend+  git checkout master 
 +  git merge --squash peaceful 
 +  git commit -m 'squashed hand-written commit message' 
 +  git branch -D peaceful    # after squash the big -D force is required 
 +  git push origin master     # push master to bare repo 
 +  git push origin --delete peaceful  # delete feature branch from bare repo 
 + 
 +==== Deploy ==== 
 + 
 +  git tag v0.2.0 -m'...'  # fancy hand-written tag message will become part of release history
      
-  # in production webserver+  git push origin master --tags 
 +  git push gitlab master --tags
      
 +  # in production webserver
   git fetch origin   git fetch origin
   git reset --hard origin/master   git reset --hard origin/master
projects/projects.1781313285.txt.gz · Last modified: 2026/06/12 21:14 by jhagstrand

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki