# survive, as a team
---
## about me
<div>
<img alt="avatar" src="https://hackmd.io/_uploads/B1Hm9gWNa.png" width="200px" />
<img alt="madmaxieee's most used languages" src="https://github-readme-stats.vercel.app/api/top-langs?username=madmaxieee&exclude_repo=Tower-Defense&hide=verilog,html,qml,matlab,css,makefile&theme=tokyonight" />
</div>
- hates these 3 programming languages the most
- c++
- python
- javascript
- uses lowercase whereever possible
---
# about building together
how to git, the right way
----

----
## who git?

----
<img src="https://hackmd.io/_uploads/B1m6vQCHa.png" width="200px"/>
git doesn't fuck your code up,
you are the one who does the fucking.
<small> - Albert Einstein </small>
----
## before anything else
- `git status`
- `git log`
- to have your prompt show git status:
- https://starship.rs/
----
## the factory, the box and the warehouse
- `git add`
- `git commit`
- `git push`
- `git pull`
----
## better commits
- conventional commits
- feat
- fix
- chore
- docs
- refactor
- small
- concise
----
## general house keeping
- `git restore`
- `git restore --staged`
- `git clean`
- `git stash`
----
## even more house keeping
- `git commit --amend`
----
## trees and pointers
- `git branch`
- `git switch`
----
## monkeying up and down the tree
- `git checkout`
- `git reset`
----
## more on the warehouse
- `git remote`
----
## your gardening tools
- `git merge`
- `git fetch`
- `git rebase`
----
## more on merge conflicts
- please use linter and formatter
- precommit hook: [husky](https://typicode.github.io/husky/getting-started.html)
- vscode merge editor
----
## Houston, we have a problem
- `git reflog`
----
## bonus
- `git bisect`
- `git worktree`
- github cli
---
# git with the flow
git flow and github flow
----
## git flow
----
### develop and main branches

----
### feature branches

----
### release branches

----
### hotfix branches

----
## github flow
----
### create a branch

----
### make commits

----
### create a pull request

----
### review your pull request

----
### delpoy your branch

----
### merge your pull request

---
# about delivering
how to turn in something alive
----
## vercel: step by step guide
https://vercel.com/
----

----

----

----

----

- copy your .env file and press cmd+v here, or fill them in manually
----
### common pitfalls
- you can't run docker containers here, use other service instead
- follow this [tutorial](https://ric2k1.notion.site/Free-postgresql-tutorial-f99605d5c5104acc99b9edf9ab649199?pvs=4) to get a database
- your `NEXT_PUBLIC_BASE_URL` should also be set to the domain vercel gives you after deploying
- follow the steps to redeploy after you update `NEXT_PUBLIC_BASE_URL`
----

----

----

----

- get your domain here, you can now use your service
----

----

----
## deploying express+vite apps
https://hackmd.io/@madmaxie/SJGCUr8Oo
----
## vercel dashboard
https://vercel.com/dashboard
----
## vercel cli
https://vercel.com/docs/cli
{"title":"survive as a team","contributors":"[{\"id\":\"647c5228-6699-4868-8f60-001a5307610c\",\"add\":6740,\"del\":882}]"}