documentation/tools/git-setup.md

49 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Git setup
## Tell git who you are
```bash
$ git config --global user.name 'Jean R. Hacker'
$ git config --global user.email 'jean@agaric.com'
```
## Align on some basics
Have same default branch, pull settings, and ability to see vault diffs as other Agarics.
```bash
git config --global init.defaultBranch main
git config --global pull.ff only
git config --global diff.ansible-vault.textconv "ansible-vault view"
```
## Let Git's git clean fully clean out (optional)
This one's a little dangerous, but use `git clean` carefully and appreciate not having to manually delete unwanted local files.
```bash
git config --global clean.requireForce false
```
## Create a personal excludesfile (optional)
```bash
$ touch ~/.gitignore
$ git config --global core.excludesfile ~/.gitignore
```
Patterns which a user wants git to ignore in all situations (e.g., backup or temporary files generated by the users editor of choice) generally go into a file specified by core.excludesfile in the users ~/.gitconfig (i.e. in the user's home directory). — [gitignore manual page.](https://git-scm.com/docs/gitignore)
## Develop
Pick a ticket, create a branch referencing the ticket number, e.g. `git checkout -b project-123`. Commit your code in small chunks capturing logical steps and follow the [Drupal coding standards](https://drupal.org/coding-standards) and the [guidelines for commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). All configuration that accompanies your code, e.g. creating fields and content types, must be in the `config` directory or scripted in an update hook. Once your work is done request a review and eventually your code will get merged into the master branch.
Note: you may need to add your ssh key in the virtual machine. To do so with DDEV:
```bash
ddev auth ssh
```