Git - Version Control Made Simple
"Hello, I'm Kiran Pawar, a passionate Cloud and Devops Engineer with a strong background in cloud automation, configuration, and deployment. My journey in the world of technology has been a thrilling adventure, where I've had the privilege to work with cutting-edge tools and practices.
๐ As a DevOps Engineer:
I specialize in automating, configuring, and deploying instances in cloud environments and data centers. My expertise extends to DevOps, GitOps, CI/CD pipeline management, HashiCorp Terraform, and containerization. I'm proficient in AWS and Linux/Unix administration, ensuring robust infrastructure and application performance.
๐ง My Tech Stack:
Front-end skills: HTML, CSS, SCSS, Tailwind CSS, Bootstrap, React, Material-UI, JavaScript DevOps toolbox: GIT, OWASP,Nexus,Trivy, Github, Gitlab, Terraform, Ansible, Docker, Kubernetes, Helm, Jenkins, Prometheus, Grafana, Argo CD, AWS EKS.
๐ My Cloud Expertise:
I have hands-on experience managing AWS services, including EC2, S3, EBS, VPC, ELB, RDS, IAM, Route53, and more.
๐ Networking and Security:
My skills include managing networking concepts such as TCP/IP protocols, security policies, and subnet interfacing. I have a strong understanding of infrastructure and networking, covering topics like firewalls, IP addressing, DNS, and more.
๐ก What Sets Me Apart:
I bring a positive attitude, a strong work ethic, and a collaborative spirit to every project. I'm a self-starter, a fast learner, and an effective team player with strong interpersonal skills. In addition to my DevOps skills, I've developed shell scripts (Bash) for automating tasks and have proficiency in Python scripting. My ability to communicate and manage projects, along with a track record of resolving client issues, adds value to every team I work with. If you're looking for a DevOps engineer who is also well-versed in front-end technologies, feel free to connect with me. Let's explore new possibilities and create exceptional technical solutions together!"
Introduction
Git, the Global Information Tracker, is a powerful distributed version control system that allows developers to track changes in their code, collaborate seamlessly, and manage versions effectively. In this blog, we'll explore the basics of Git, its role in version control, and the fundamental stages of working with Git.
What is Version Control?
Version control is a crucial aspect of software development, enabling teams to manage and track changes in their codebase. Git, a distributed version control system (DVCS), stands out for its efficiency and flexibility.
Understanding Version Control
Imagine you're developing an application with multiple versions:
Version 1: 100 lines of code
Version 2: 200 lines of code
Version 3: 300 lines of code
Git allows you to store each version separately, maintaining a record of the changes made over time.
Key Concepts
Repository (Repo): A folder where code is stored.
Working Directory: Where you write your source code.
Staging Area: Where files are tracked before committing.
Rollback: The ability to revert to a previous version of the application.
Git Workflow
Initialize a Git repository:
git initCreate a file (e.g., index.html):
vim index.htmlCheck the status of the repository:
git statusTrack the file:
git add index.htmlCheck the status again:
git statusCommit the changes:
git commit -m "commit-1" index.html
Viewing Commit History
View all commits:
git logView the last 2 commits:
git log -2View commits in a single line:
git log -2 --oneline
Conclusion:
Git simplifies version control, making it an essential tool for every developer. Understanding the basics of Git and its workflow empowers you to effectively manage and collaborate on software projects. As you continue your coding journey, Git will prove to be an invaluable companion. Happy coding!
