Teams should adhere to the following practices, but may vary from them after consultation with the instructor:
GitLab Configuration:
Issue Board settings
Git repositories
Configure your git setup so check-ins and check-outs are as-is.
This means git will not convert line endings between Unix/Window/Mac
formats. The conversions are not needed since all modern editors can
handle different formats. Allowing git often breaks deployment.
You can set this by editing your .gitconfig
file to include the text
[user]
autocrlf = false
Always push on each commit. That is, do not fall into the dangerous practice of doing lots of commits locally without pushing those changes to the Git server, otherwise you and your partners will have huge conflict resolution sessions that provide little value.
As discussed above, never squash commits. Squashing commits makes it impossible for instructors to determine who did what work, leading to lower grades. However, it is ok to delete branches; the critical commit history will still be available.
Never rebase a commit. Doing so increases the chances of losing code. The git commit history is not a valuable deliverable; focus on getting the code right rather than having beautiful commit histories. Use merges to combine branches.
If you do commit to main by accident, move the commit to the proper branch. You can either of the methods given by this page.
Documentation
doc
folder in your project. Deliverables includes build
instructions, testing instructions, design documentation, etc.;
materials that will be needed by future teams to build, deploy, and
maintain the system. Process documentation, such as
sprint reports, are not deliverable.markdown
is redundant information; use folders like “build
instructions” or “deployment” instead. But you will probably find
that having subfolders in your doc
folder is unnecessary since you
will likely have a relatively small number of documentation files.Design