An open API service indexing awesome lists of open source software.

https://github.com/microsoftcloudessentials-learninghub/github-overview

GitHub Overview. For official guidance, support, or more detailed information, please refer to Microsoft's official documentation or contact Microsoft directly.
https://github.com/microsoftcloudessentials-learninghub/github-overview

demos github github-overview pricing

Last synced: 8 months ago
JSON representation

GitHub Overview. For official guidance, support, or more detailed information, please refer to Microsoft's official documentation or contact Microsoft directly.

Awesome Lists containing this project

README

          

# GitHub - Overview

Costa Rica

[![GitHub](https://img.shields.io/badge/--181717?logo=github&logoColor=ffffff)](https://github.com/) [brown9804](https://github.com/brown9804)

Last updated: 2025-08-04

----------------------

> GitHub is a web-based platform that provides hosting for software development and version control using Git. It offers a comprehensive suite of tools for collaboration, code management, and software delivery.

> [!TIP]
> For current Azure DevOps users, Microsoft suggest `moving your repositories over to GitHub so you can make the most of the latest agentic AI features`. You can still `keep using Azure Boards, Pipelines, and other tools like Test Plans thanks to our integrations.` Also, `Azure DevOps basic usage rights now come with GitHub Enterprise`, and Microsoft `working on making the migration process and integrations between GitHub and Azure DevOps even smoother.`

List of References (Click to expand)

- [GitHub Docs](https://docs.github.com): Comprehensive documentation for all GitHub features and workflows.
- [GitHub Actions](https://docs.github.com/en/actions): Learn how to automate workflows with GitHub Actions.
- [GitHub Pages](https://pages.github.com): Official guide to hosting static websites with GitHub Pages.
- [Git Reference](https://git-scm.com/docs): Official documentation for Git commands and workflows.
- [GitHub CLI](https://cli.github.com): Command-line interface for GitHub.
- [Pro Git Book](https://git-scm.com/book/en/v2): Free book on Git and version control.
- [GitHub Security Features](https://docs.github.com/en/code-security): Overview of GitHub's security tools.
- [Dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically): Automate dependency updates.
- [CodeQL](https://codeql.github.com): Learn about GitHub's code scanning technology.
- [GitHub Discussions](https://github.com/github/feedback/discussions): Community forum for GitHub users.
- [GitHub Support](https://support.github.com): Contact GitHub support for help.

Table of content (Click to expand)

- [Overview](#overview)
- [Development Workflow](#development-workflow)
- [Issues](#issues)
- [Key Features](#key-features)
- [Examples](#examples)
- [Projects](#projects)
- [Key Features](#key-features)
- [Examples](#examples)
- [GitHub Pages](#github-pages)
- [Key Features](#key-features)
- [Setup Process](#setup-process)
- [Examples](#examples)
- [Security Tools](#security-tools)
- [Key Features](#key-features)
- [Examples](#examples)
- [Codespaces](#codespaces)
- [Key Features](#key-features)
- [Examples](#examples)
- [Areas](#areas)

## Overview

| Concept | Definition |
|---------|------------|
| Git | A distributed version control system that tracks changes to files over time |
| Repository (Repo) | A project's folder containing all files and their revision history |
| Branch | A parallel version of the repository for isolated development work |
| Commit | A snapshot of changes with a unique ID and descriptive message |
| Pull Request (PR) | A proposal to merge changes from one branch into another |
| Merge | The process of integrating changes from one branch into another |

## Development Workflow

1. Create or Clone a Repository

- Initialize a new repository: `git init my-project`
- Clone an existing repository: `git clone https://github.com/username/repo.git`
- Public repos visible to everyone, private repos limited to collaborators

2. Branch Development

- Create and switch to a new branch: `git checkout -b feature-branch`
- List all branches: `git branch -a`
- Work in isolation without affecting the main codebase

3. Commit Changes

- Check status of changed files: `git status`
- Stage all changes: `git add .`
- Stage specific file: `git add `
- Commit staged changes: `git commit -m ""`
- Build a detailed history of project modifications

4. Open Pull Request

- Push branch to remote repository: `git push origin `
- Use GitHub UI: Click `Compare & pull request`
- Describe changes, their purpose, and impact

5. Code Review and Discussion

- Review changes line by line in GitHub UI
- Add comments on specific lines
- Request changes or approve the pull request
- Ensure code quality and catch issues early

6. Automated Testing (CI)

- GitHub Actions run automated tests when PR is created
- Example workflow file (.github/workflows/ci.yml):
```yaml
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm install
- run: npm test
```
- Check test results in `Actions` tab on GitHub

7. Merge Approved Changes

- GitHub UI: Click `Merge pull request`
- Or command line:
```bash
git checkout main
git pull
git merge feature-branch
git push
```
- Features or fixes become part of the official project

8. Automated Deployment (CD)

- Deploy updated applications to production environments
- Example deployment workflow:
```yaml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm install
- run: npm run deploy
```
- Release new versions to users automatically

## Issues

> Issues are GitHub's built-in tracking system for bugs, feature requests, and tasks. They provide a centralized location to discuss ideas, enhancements, and problems related to your project.

Expand for more details

### Key Features
- **Issue Templates**: Create standardized formats for bug reports, feature requests, etc.
- **Labels**: Categorize issues by type, priority, status (e.g., "bug", "enhancement", "high-priority")
- **Milestones**: Group issues into project phases or version releases
- **Assignees**: Delegate responsibility to specific team members
- **Mentions**: Tag team members using @username to request input
- **Task Lists**: Create checklists within issues using `- [ ]` syntax

### Examples

**Creating an issue via GitHub CLI:**
```bash
gh issue create --title "Login button doesn't work" --body "When clicking the login button, nothing happens."
```

**Example issue template:**
```yaml
name: Bug Report
description: File a bug report
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: What browsers are you seeing the problem on?
multiple: true
options:
- Firefox
- Chrome
- Safari
- Microsoft Edge
```

**Linking an issue to a pull request:**
```
This PR fixes #123 and addresses #456
```

## Projects

> Projects are flexible Kanban-style boards for organizing work and tracking progress across GitHub issues and pull requests.

Expand for more details

### Key Features
- **Boards**: Customizable Kanban-style boards with columns (e.g., To Do, In Progress, Done)
- **Cards**: Issues, pull requests, or notes that move between columns
- **Automation**: Automatically move cards based on events like PR creation
- **Views**: Table, board, or roadmap views for different perspectives
- **Custom Fields**: Add metadata like priority, effort, or custom categories
- **Filters**: Focus on specific aspects of the project by assignee, label, etc.

### Examples

**Basic project board structure:**
- To Do
- In Progress
- Review
- Done

**Automation rules example:**
- When issues are opened → Add to "To Do" column
- When pull requests are opened → Move card to "In Progress" column
- When pull requests are merged → Move card to "Done" column

**GitHub CLI commands:**
```bash
# Create a new project
gh project create "Q3 Feature Roadmap" --org "your-organization"

# Add an issue to a project
gh project item-add --issue
```

## GitHub Pages

> GitHub Pages is a free hosting service for static websites directly from GitHub repositories, perfect for project documentation, blogs, portfolios, or simple web applications.

Expand for more details

### Key Features
- **Free Hosting**: No cost for public repositories
- **Custom Domains**: Connect your own domain name
- **HTTPS**: Automatic SSL certificate provisioning
- **Jekyll Integration**: Built-in support for Jekyll static site generator
- **Automatic Builds**: Sites rebuilt automatically when you push changes

### Setup Process
1. Create repository with content
2. Go to repository Settings → Pages
3. Select source branch/folder
4. (Optional) Configure custom domain
5. Site is published at username.github.io/repository

### Examples

**Simple index.html file:**
```html

My GitHub Pages Site

Hello World!


This site is hosted with GitHub Pages.

```

**Jekyll configuration (_config.yml):**
```yaml
theme: jekyll-theme-minimal
title: My Project Documentation
description: Comprehensive guides for using my awesome project
```

**Custom 404 page (404.html):**
```html

Page Not Found

404 - Page Not Found


The page you were looking for doesn't exist.


Go back home

```

## Security Tools

> GitHub provides a comprehensive suite of security tools to identify and fix vulnerabilities in your code and dependencies.

Expand for more details

### Key Features
- **Dependabot**: Automatically detects vulnerable dependencies and creates PRs to update them
- **Code Scanning**: Uses CodeQL to identify potential security issues in your code
- **Secret Scanning**: Prevents accidental credential exposure in your repositories
- **Security Advisories**: Private workspace for vulnerability reporting and fixes

### Examples

**Dependabot configuration (dependabot.yml):**
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
security-updates-only: true
```

**Code scanning workflow (.github/workflows/codeql.yml):**
```yaml
name: "CodeQL"
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: github/codeql-action/init@v2
with:
languages: javascript, python
- uses: github/codeql-action/analyze@v2
```

**Security policy file (SECURITY.md):**
```markdown
# Security Policy

## Reporting a Vulnerability

Please report security vulnerabilities to security@example.com.

We will acknowledge receipt of your vulnerability report within 24 hours and send a more detailed response within 48 hours indicating next steps.
```

## Codespaces

> Codespaces provides cloud-based development environments that are fully configured and ready to code, eliminating environment setup time and `works on my machine` problems.

Expand for more details

### Key Features
- **Pre-configured Environments**: Start coding immediately without setup
- **Customization**: Define dev container configuration in repository
- **Extension Support**: Use VS Code extensions in the cloud
- **Port Forwarding**: Test web apps with public/private URL options
- **Persistent Storage**: Keep your work between sessions
- **Collaboration**: Share running environments with team members

### Examples

**Dev container configuration (.devcontainer/devcontainer.json):**
```json
{
"name": "Node.js & MongoDB",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspace",
"extensions": [
"dbaeumer.vscode-eslint",
"mongodb.mongodb-vscode"
],
"forwardPorts": [3000, 27017],
"postCreateCommand": "npm install",
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
}
}
```

**Docker Compose file (.devcontainer/docker-compose.yml):**
```yaml
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ..:/workspace:cached
command: sleep infinity
network_mode: service:db

db:
image: mongo:latest
restart: unless-stopped
volumes:
- mongodb-data:/data/db

volumes:
mongodb-data:
```

**GitHub CLI commands:**
```bash
# Create new codespace
gh codespace create

# Open an existing codespace in VS Code
gh codespace code

# Stop a codespace
gh codespace stop
```

## Areas

| **Feature/Area** | **Description** | **Purpose** |
|-----------------------------------|-----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| **GitHub Enterprise Cloud** | A cloud-hosted version of GitHub for businesses, offering advanced collaboration and security tools. | Provides scalability, security, and compliance for organizations using GitHub in the cloud. |
| **GitHub Enterprise Server** | A self-hosted version of GitHub for businesses, deployed on-premises or in a private cloud. | Offers full control over GitHub infrastructure for organizations with strict compliance needs. |
| **GitHub Advanced Security** | Includes tools like Code Scanning and Secret Scanning to identify vulnerabilities in code. | Helps secure codebases by detecting vulnerabilities and exposed secrets. |
| **GitHub Copilot for Business** | AI-powered code completion tool tailored for teams and organizations. | Boosts developer productivity by suggesting code snippets and automating repetitive tasks. |
| **GitHub Copilot for Enterprise** | AI-powered code completion tool designed for large-scale enterprise use. | Provides AI-driven coding assistance with enterprise-grade security and scalability. |
| **GitHub Actions** | Automation platform for CI/CD workflows, enabling testing, building, and deployment. | Streamlines development workflows by automating repetitive tasks.|
| **GitHub Code Quality** | A forthcoming feature focused on improving code quality through automated analysis. | Aims to provide insights and recommendations to improve code maintainability and readability. |


Total views

Refresh Date: 2025-10-07