--- title: "Git Clients" slug: "git-101" description: "An introduction to Git and how to install it, branches, design reviews, issues, milestones, markdown, releases, and more. " updated: 2024-04-19T04:05:09Z published: 2024-04-19T04:05:09Z canonical: "learn.allspice.io/git-101" --- > ## Documentation Index > Fetch the complete documentation index at: https://learn.allspice.io/llms.txt > Use this file to discover all available pages before exploring further. # Git 101 ## **Git 101: What is Git?** Git is a magic tool to help you track, version, and release your files. It is easy to learn everything you need to know for day-to-day tasks, and powerful enough for automation. Git runs on our AllSpice server and on your local machine. ### **Track your design changes** ![Artboard 1 copy 4git slides.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/Artboard%201%20copy%204git%20slides.png) - Change from main to develop branch - Create design changes on their local file system - Commit the files to their local develop branch - Add a meaningful commit message - "Remove C237, 0.2uF bypass cap from U14 - Commits are pushed to remote branch ### **Review your design changes** ![Artboard 1 copy 5git slides.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/Artboard%201%20copy%205git%20slides.png) - Create a Design Review to merge develop branch to main branch - Team reviews changes - Suggest/require changes - Review fabrication/output files - Create Issues to resolve/defer action items - Approves design review by merging develop branch to main ## **Git 101: Installing Git** **your title goes here** [Full article on installing Git](https://portal.document360.io/v1/docs/local-git-setup-2) If you've never used Git before, then we recommend GitHub Desktop for ease of use. Your teammates might make a recommendation - Git Bash Command Line Interface (CLI) [Download](https://gitforwindows.org/) - TortoiseGit [Download](https://tortoisegit.org/download/) (File Explorer interface) - GitHub Desktop [Download](https://desktop.github.com/) (Easiest for beginners) - Source Tree [Download](https://desktop.github.com/) ## **Git 101: Branches** ### **Branches organize and control change** Changes are first committed to a local branch and then are pushed to a server. Changes can't move from one branch to another without using a design review, or by manually adding them. We recommend a two-branch strategy for hardware development. - Main branch alway is the latest release - Releases for V1, V2...VN - Develop branch contains proposed changes - All developers work on the same branch Branch protection allows you to prevent accidental pushes or merges. - Visit your repository settings - Click on the Branches menu - Click on "Add New Rule" to add a new rule - Add the name of the branch you would like to protect and configure the settings. - We recommend disabling push ## **Git 101: Design reviews** **Design reviews** [Full article on Design Reviews](https://learn.allspice.io/docs/design-reviews-101) Git Design Reviews allow you to verify the file changes before you merge one branch to another. It is the equivalent to an ECO. ![image.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/image%2837%29.png) AllSpice.io Design Reviews are Git Pull Requests (PR) with a name more familiar to electrical engineers ### **Design review interface** Design Reviews have 3 main tabs - Design Review interface - ![Screenshot 2024-01-11 at 1.25.10 AM.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/Screenshot%202024-01-11%20at%201.25.10%20AM.png) - Conversations - Reviews - Requests for change - Comments or instructions - Request for investigation - Commits - Serial list of all changes - Files Changed - Visual diffs of PCBs, Schematics, BOMs, and any text files ### **Creating a Design Review** - Visit your repo - Click on the Design Reviews Tab - Click on New Design Review - ![image.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/image%2838%29.png) - Select the pull-from branch on the right. This is usually develop - ![image.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/image%2839%29.png) - Ensure the branch on the left is your target branch. This is usually main. - Click New Design Review - ![image.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/image%2840%29.png) - Enter a name or title for your review - You can create a Design Review template that will pre-populate the description with useful information and checklists. To learn more [visit the main article](https://portal.document360.io/v1/docs/design-reviews-101). - Add any Labels needed to categorize the review - Attach milestones to track your repos - Once everything looks ready, click Create Design Review - ![image.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/image%2841%29.png) - Add Reviewers who will approve and be able to comment - ![image.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/image%2842%29.png) ### **Design Review Visual Diff (Files Changed)** The Files Changed Tab helps you review your changes. - ![Screenshot 2024-01-11 at 1.38.41 AM.png](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/Screenshot%202024-01-11%20at%201.38.41%20AM.png) On the left is a file tree showing which files are new, which have changes, and which have been deleted. The file diffs are on the right. You can create snippets to communicate any requested changes. - View your schematic or PCB - Click on Snippet - Highlight the section you wish to show - Click the "+" button - Add your custom message - Click "Add single comment" - ![snippet.gif](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/snippet.gif) To learn more [Full article](https://learn.allspice.io/docs/design-reviews-101) ## **Git 101: Issues** Issues are the equivalent of Action Items. You can use them to highlight work that needs to be done immediately, or use it to track work done over time. You can attach files and have a full conversation about the issue. You can gate Deisgn Reviews from completing until certain issues have been closed. You can create multiple [issue templates](https://learn.allspice.io/docs/create-a-design-review-template) and create custom interfaces. ### **Creating an issue** - Visit your repo - Click on issues - Click new issues - If you have multiple issue templates, select your template - Fill out the issue - Assign Assignees, add labels, attach to milestones - @mention your teammates ![lib issue.gif](https://cdn.document360.io/3d44af5c-3f49-4ca5-b152-10836a885c13/Images/Documentation/lib%20issue.gif) - How do you use them ## **Git 101: Milestones** Please visit our [main article on Milestones](https://learn.allspice.io/docs/managing-projects-with-milestones-issues-and-design-reviews) ## **Markdown** Markdown is a lightweight markup language with plain-text formatting syntax. Its main goal is to be easy to read and write, even when not converted to HTML. This article is written in markdown. Visit our full [markdown guide](https://learn.allspice.io/docs/markdown-guide) ## **Releases** See our [full article on releases](https://learn.allspice.io/docs/hardware-releases-101) ##