Remote Git Server features 🏹

🏹 Issues

When someone finds a bug/problem with the project, they will usually create an issue. See GitHub tutorial.

On GitHub/GitLab/???, you can create issue templates.

See Options > Features > Issues on GitHub.
See GitHub Issue templates (3.5k ⭐)


🏹 Wiki

The wiki is used by developers to write some primitive documentation that is stored "near" your project. You can add images inside, that are stored in your repository (try with/without a leading /).

You can clone your wiki with .wiki.git instead of .git!


🏹 Forks

Usually, repositories do not allow everyone to contribute. Instead, they can fork the repository, which will create a copy that they own. They will work on it, and they will be able to create a Pull Request to the original repository, that may be merged by the original repository's maintainers. See GitHub tutorial.

🏹 Pull Requests (PR) / Merge requests

In most cases, developers establish a formal procedure to merge branches into main. Anyone will have to create a Pull Request asking if they can merge. Then, reviewers will check the code, and allow master/main to be modified. See GitHub tutorial.

On GitHub/GitLab/..., you can create pull request templates.

See GitHub Issue templates (3.5k ⭐)


🏹 References

Every issue/pull request has an ID, for instance, #1. You can reference this ID anywhere else, for instance, inside a commit! On GitHub, on the issue/pull request page, we will see the referencing commit SHA1.

On GitHub, you can also reference a user with @username.


✍️ Less commonly used features ✍️

✍️ Co-authors

Available at least on: GitHub

If you know someone else's email, then you can include them as the author of a commit. Note that the one creating the commit (you) will be marked as a committer, so there will always be at least two names unless you directly edit the GIT configuration πŸš“.

git commit -m "xxx

Co-authored-by: name <name@example.com>"

✍ Reference code in issues

Available at least on: GitHub

There is a nice way of referencing code from the same repository inside an issue/a pull request. See GitHub tutorial.

  • Open the target file
  • Click on the line number of the line you want to reference
  • Hold Shift and press another line to select an interval
  • Click on "..."
  • Copy permalink
  • Then simply paste the permalink inside an issue/a pull request

It won't always work. In such cases, simply click on "..." on a file, get the permalink, and append to it #LX (line X) or #LX-LY (line X to line Y).

✍️ Pages

Available at least on: GitHub

GitHub allows us to create a repository called after our username or an organization name. The tutorial is here. The URL to access it is: https://username.github.io/.

See Jekyll or Hugo tutorials too.

✍️ CODEOWNERS

Available at least on: GitHub, GitLab

This file is a dictionary with patterns associated with GitHub/... usernames. Repositories can be configured so that if a file owned by a code owner is modified, then inside the Pull Request, the CodeOwner will be asked for a review. See GitHub tutorial.

*       @QuentinRa

✍️ Git attributes

Available at least on: GitHub

While the file .gitattribute is not exclusive to GitHub/..., it is used by GitHub linguist if we want to edit the rules that GitHub uses to determine the languages used by our project.

# Ex: add Markdown files in the language list
*.md linguist-documentation=false linguist-detectable=true

✍️ Projects

Available at least on: GitHub

This is a feature that includes Agile-Scrum Scrum boards. It's actually a bit more complex and less convenient. You can create tasks, but you can't do much with them. Once you convert them to issues, you can assign people to them along with tags. They are useful for tracking, sorting issues, and keeping track of milestones.

πŸ‘‰ GitLab has something similar called Issue boards.


πŸ‘» To-do πŸ‘»

Stuff that I found, but never read/used yet.