Git - Intro


Git - Intro

Git - Intro

There are many questions or use cases we come across in our day to day activity, like

  • How multiple contributors can push their changes together to one project without any overhead? The answer is with git branching.

  • Who is the contributor to the repository? only developers? The Answer is One who is part of the project will be the contributors in one way or the other. One who writes the code developer, one who writes the configurations, system administrator, one who creates the DevOps configurations, one who writes the playbooks, recipes, and pipelines.

  • What is code review? is it mandatory?
  • How to revert changes to the working commit?
  • git vs github/gitlab/bitbucket?
  • How to create the repository in GitHub/GitLab/bitbucket?
  • How to initialize the repository?
  • How to create the repository? git clone vs git pull?
  • Difference between cloning with https:// vs git:/?
  • How branching works in the case of multiple contributors?
  • Best practice to resolve conflicts?
  • What is a pull request? Is a pull request mandatory? and when?
  • Who is the reviewer? can a bot review on behalf? and how?
  • BAD or GOOD? mono repo vs poly repo?

This is an endless set of questions we have in our mind when we read about the git and practicing git. How we get rid of the question bank about the git in the brain? My answer would be it is an endless learning about the git, in our day-to-day activity we do and use-cases we come across will teach us how to use git the right way?

I will try to cover them from my experience with the different blog posts which alone explains each topic from scratch.

Part-1 Decentralized but centralized git vs GitHub/Bitbucket/GitLab?

Part-2 Initialize git local repository and push first commit to remote repository (github/bitbucket/gitlab)

Part-3 Git Branching for Contributors

Part-4 Git for developers

Part-5 Life Cycle of a branch

Part-6 Model of Branching (master, develop, feature, hotfix)

Part-7 Git for DevOps

Part-8 Is .gitignore mandatory?

Part-9 Host git-server using GitLab

Part-10 Monorepo vs Polyrepo in my experience

Related Post:

Why Python for Production Services

Vector Deployment Patterns

Vector Aggregator — Transform and Route

Vector Agent — Lightweight Log Collection

HashiCorp Vault — Centralized Secret Management

Vault Auth Methods — Token vs AppRole

Unit Tests for Business Logic

Test Coverage and CI Integration

Docker Swarm Deployment

Why Structured Logging Matters

structlog — JSON Logging with Context

Secret Workflow — Local to Production

Scheduled Security Scans

Production Operations Runbook

pytest — Fixtures, Conftest, and Async Testing

Pydantic — Request & Response Validation

Prometheus Metrics — RED Method

Project Structure with pyproject.toml

Pre-Commit Hooks for Security

Auto-Instrumentation for FastAPI

OpenTelemetry — Traces, Spans, and Context

Marathon/Mesos Deployment

Log Rotation and Disk Management

End-to-End Pipeline

Kubernetes Deployment

Kafka — Durable Log Transport

Jaeger — Visualizing Distributed Traces

Integration Tests for API Endpoints

Health Checks and Readiness Probes

Graceful Shutdown

GitHub Actions CI Pipeline

FastAPI — Async-First HTTP Framework

Error Handling & Response Models

Elasticsearch + Kibana — Search and Visualize

Dual Output — Stdout and File Logging

Docker — Containerize from Day One

Docker Compose Deployment

Dependency Updates and Maintenance

Dependency Auditing with pip-audit

Request-Scoped Logging with Correlation IDs

Container Security with Trivy

Environment-Based Config with pydantic-settings

Async Database Operations

API Versioning Strategies

RESTful Route Design with FastAPI Router

K8s Contributor Playground, Learning by Contributing

Adding Try in PWD button to README file

Docker Issues

Jenkins - Upgrade Jenkins

SED

Jenkins - Schedule

AWS EBS Volmes - Create and attach the EBS volume with mounting

Elasticsearch - Dumping documents from multi-node to single node

CICD Jenkins - Send email with default content

Linux - sed command

Arachni - VAPT Tool

VAPT - Vulnerability Assessment and Penetration Testing