Day 30/100: Enter the Time Machine – Introduction to Git 🌳 Today’s Focus: For the past month, I've been deep in the Linux terminal managing servers, files, and permissions. Today, I took a massive step toward actual software development and collaboration by diving into Git, the world's most popular Version Control System (VCS)! 🧠 What exactly is Git? At its core, Git is like a time machine for your code. It tracks every single change made to a file or a project over time. Before Git, I used to save files like this: ❌ script.sh ❌ script_v2.sh ❌ https://lnkd.in/d6QdZdtw With Git, I just have one project folder, and the system intelligently remembers the entire history of edits, who made them, and exactly when they happened! 🛠️ The Core Workflow I Learned Today: I started by turning a regular directory into a Git repository and tracking my first files: git init: The magic command that initializes an empty Git repository in my project folder. git status: My new best friend. It acts as a radar, telling me which files have been modified, which are untracked, and what is ready to be saved. git add [file]: Moving my changed files into the "Staging Area" (getting them ready for a snapshot). git commit -m "Message": Taking the actual snapshot! This permanently records the staged changes into the project's timeline with a descriptive message. Why It Matters: Whether I am writing a basic Bash script or collaborating with 50 other engineers on a massive cloud application, Git is non-negotiable. It prevents us from overwriting each other's work and gives us a safe way to experiment (and easily roll back if things break!). 🚀 #100DaysOfDevOps #100DaysOfCode #Git #VersionControl #Linux #SysAdmin #DevOpsEngineer #TechJourney #DailyProgress #CloudComputing #CodingLife
Git Time Machine for Code Version Control
More Relevant Posts
-
Git is more than just a tool — it's the heartbeat of every DevOps pipeline. 💓 After covering Linux fundamentals, I went deep on Git. Not just reading docs — I practiced 23 essential commands hands-on, documenting every terminal output and GitHub workflow along the way. 🛠️ 📚 What's inside the hands-on guide? 1️⃣ Foundation — Installation on Ubuntu + identity setup with git config. 2️⃣ Core Workflow — Mastering the flow: Working Directory → Staging → Local Repo → Remote. 3️⃣ Branching — Managing dev and prod branches like a professional environment. 4️⃣ Recovery Tools — git stash for work-in-progress and git cherry-pick for surgical fixes. 5️⃣ History Control — Knowing exactly when to use --soft vs --hard reset. 💡 3 things I learned by intentionally breaking Git: The Golden Rule: 1. Always pull before you push. I triggered a push rejection on purpose — by adding a file directly on GitHub — and resolved the conflict step by step. That 10 minutes taught me more than hours of reading. 2. Visualize the tree. git log --oneline --graph is your best friend. If you can’t see the branch structure, you don’t truly control the flow. 3. Commit with intent. Small, frequent commits with clear messages beat one massive "final update" every time — especially when something breaks and you need to roll back. I'm sharing the wealth! 👇 Attached major command reference guide with real terminal screenshots and GitHub workflow documentation. I hope this helps anyone else on the DevOps path. #Git #GitHub #DevOps #VersionControl #Linux #CloudComputing #LearningInPublic #Automation #SoftwareEngineering #TechSkills
To view or add a comment, sign in
-
𝗗𝗮𝘆 𝟮𝟮 𝗼𝗳 𝗺𝘆 𝗗𝗲𝘃𝗢𝗽𝘀 𝗝𝗼𝘂𝗿𝗻𝗲𝘆 💻 Bringing code to life — cloned a Git repository to create a working copy for development 📥 𝗧𝗮𝘀𝗸: Clone Git Repository on Storage Server 𝗪𝗵𝗮𝘁 𝗜 𝗹𝗲𝗮𝗿𝗻𝗲𝗱 𝘁𝗼𝗱𝗮𝘆: • Difference between bare repository and working repository • How `git clone` creates a local working copy • Cloning repositories from local paths (not just GitHub) • Importance of using correct user permissions • Safe handling of shared repositories in production environments 𝗪𝗵𝗮𝘁 𝗜 𝗯𝘂𝗶𝗹𝘁 / 𝗽𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝗱: • Logged into Storage Server (`ststor01`) as `natasha` • Verified existence of repository `/opt/games.git` • Created destination directory `/usr/src/kodekloudrepos` • Cloned repository using `git clone /opt/games.git` • Verified working copy using `git status` 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀: • Understanding local path-based cloning • Ensuring no permission or structure changes were made • Being careful to use the correct user (`natasha`) 𝗙𝗶𝘅 / 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴: • Learned that cloning from local repositories works the same as remote • Understood importance of maintaining repository integrity • Gained clarity on how working copies are used in development 𝗞𝗲𝘆 𝗧𝗮𝗸𝗲𝗮𝘄𝗮𝘆: Cloning is where development begins — it bridges the gap between a central repository and actual coding work. This felt like a real-world Git workflow setup 🚀 Do you mostly clone from local repos, GitHub, or enterprise tools like GitLab/Bitbucket? #Day22 #DevOps #Git #VersionControl #Linux #Automation #CloudComputing #AWS #DevOpsJourney #LearningInPublic #100DaysOfDevOps
To view or add a comment, sign in
-
-
#Day18 -Today’s session focused on understanding essential Git operations and efficiently managing repositories using the GitHub interface. (Part-6) 1. Git Operations 📌 Git Repository (Clone, Pull, Fetch) ✅ Clone (First time download) Used when you don’t have the project locally. git clone https://lnkd.in/gmiGHMgJ What it does: ▪️ Downloads entire repo ▪️ Creates a local copy ▪️ Connects to remote ✅ Pull (Get latest changes) git pull origin main What it does: ▪️ Downloads changes ▪️ Automatically merges into your branch ✅ Fetch (Only download, no merge) git fetch origin What it does: ▪️ Downloads latest changes ▪️ Does NOT change your code 💠 Important Concept ▪️ Pull = Fetch + Merge 🔷 See All Branches (Local + Remote) ▪️ git branch # Local branches ▪️ git branch -r # Remote branches ▪️ git branch -a # All branches 2. GitHub UI 📌 Create / Delete / Rename Branch (GitHub UI) ✅ Create Branch 1. Open repo in GitHub 2. Click branch dropdown (top-left) 3. Type new branch name 4. Click Create branch ✅ Delete Branch 1. Go to Branches 2. Find branch 3. Click Delete icon ✅ Rename Branch 1.Go to Branches 2. Click Edit (✏️) 3. Enter new name 🔷 Rename Repository 1. Open repo in GitHub 2. Go to Settings 3. Change repository name 4. Click Rename 🔷 Rename Default Branch 1. Go to Settings → Branches 2. Change default branch (e.g., main → dev) 🔷 Change Repository to Private 1. Open repo → Settings 2. Scroll to Danger Zone 3. Click Change visibility 4. Select Private 🔷 Transfer Repository Ownership 1. Go to Settings 2. Scroll to Danger Zone 3. Click Transfer ownership 4. Enter: ▪️ New owner username ▪️ Repository name (for confirmation) Result: ▪️ New user becomes owner ▪️ You lose control (unless added back) 🔷 Delete Repository ⚠️ Dangerous action (permanent) Steps: 1. Go to Settings 2. Scroll to Danger Zone 3. Click Delete this repository 4. Type repo name 5. Confirm delete #DevOps #CloudComputing #AWS #LINUX #GIT #GITHUB #Frontlinesedutech #flm #CTA
To view or add a comment, sign in
-
Let me explain Git and GitHub the most simplest way possible. 🥰🥰 You know when you are writing an important document and you save it like this 📄 Document v1 📄 Document v2 📄 Document FINAL 📄 Document FINAL FINAL 📄 Document THIS IS THE ONE You do this because you are scared of losing your work. Or because you might need to go back to an older version. Git does exactly this for your code. Automatically. Professionally. Without the chaos. Every time you save your progress in Git (called a commit) Git takes a snapshot of your entire project. So if you break something today? You can go back to yesterday’s version instantly. And GitHub? GitHub is simply where you store all of that online. So your work is safe even if your laptop crashes. And other developers can collaborate with you too. Git = your personal save history GitHub = the cloud where that history lives ☁️ Every developer needs both. Did you understand Git and GitHub before reading this? Drop YES or NO below. ⬇️ #Git #GitHub #WebDevelopment #FrontendDeveloper
To view or add a comment, sign in
-
-
Git was designed to be hard. On purpose. Linus Torvalds built it as a gatekeeper for the Linux kernel. Intentionally hostile. Intentionally complex. The difficulty was the point. Then Scott Chacon co-founded GitHub and spent 15 years making Git accessible to everyone who wasn't a kernel maintainer. This week, his new company, GitButler, raised $17M led by a16z to do it again. Except this time, the problem isn't humans struggling with Git. It's AI agents struggling with Git. Cursor, Claude Code, Copilot, they're all generating code at scale. Committing, branching, opening PRs. But the underlying model hasn't changed. We're teaching swarms of agents to use a tool built in 2005 to send patches over mailing lists. That's the gap GitButler is betting $17M on. The actual product: parallel branches without duplicating the repo. Stacked branching. Agent-specific commands. Unlimited undo. A CLI designed for both humans and the agents working alongside them. Not "better Git." Infrastructure for what comes after Git workflows. Here's the part that hit me : We're literally being evaluated on Git proficiency. Push to branch, open PR, rebase cleanly, resolve conflicts without crying. And a GitHub co-founder just raised a Series A because that entire workflow is overdue for a redesign. The skill we're grinding isn't going away tomorrow. But the assumption that it stays the default forever? That just got $17M of doubt placed against it. Are you learning Git because you need it — or because nobody's shipped the thing that replaces it yet? #DeveloperTools #OpenSource #AIAgents GitHub Hackernews
To view or add a comment, sign in
-
-
Today I will talk about two very important and crucial things in tech industry, especially in software industry. Those are: 1. Git 2. GitHub Many of us especially beginners have a lot of confusion and misunderstanding about them. I will try to explain them in simple and easy way as I can. Let begin: 1. Git: As we know git is a version control system. We can monitor our project workflow throw it. This is a very popular tool to us. The interesting fact is git was also created at 2005 by Linus Torvalds, the father of Linux Kernel. It is an open-source tool. Before that the developer of Linux Kernel use a system called BitKeeper. Goals behind develop git was: - Speed - Simple design - Strong support for non-linear development - Fully distributed - Able to handle large project efficiently Though there are other tools like subversion, but it is still number one choice to the tech gigs. 2. GitHub: It is a cloud source management service platform. According to GitHub documentation page, GitHub Inc was formed n 2007 by Chris Wanstrath, P. J. Hyett, Tom Preston and Scott Chaocon and launched GitHub in February 2008. Now its own by Microsoft. In June 2018, Microsoft announced its acquisition of GitHub. After that some of the open-source users was worried about the free uses of GitHub. It primary role is store code and docs. But there are some other features it provides nowadays. These are: - code review - project management - continuous integration unit testing. - GitHub actions - associated web page Though there are other platforms like Bitbucket, GitLab but none of them are not popular and functional as GitHub. #Git #GitHub #DevOps #SWE
To view or add a comment, sign in
-
-
I built Semantic Git (sgit) Git is the most detailed record of everything your team has ever built and you can't search it. Not really. git log --grep only matches exact words. so when something breaks in the payment flow and you're trying to find the commit that caused it — you're stuck guessing what words you used 3 weeks ago to write commit message. git log --grep="payment" → 34 unrelated results git log --grep="gateway" → nothing useful git log --grep="stripe" → 12 results, none of them right The commit exists. you wrote it yourself. you just can't find it because git only cares about exact words not semantics. So I built sgit. it searches by its semantics, not keywords. sgit log "recent work on the payment gateway" Result:- → handle edge case in checkout flow → fix race condition between order and charge → remove duplicate transaction on retry there it is. the one you were looking for. found in ~20ms across 10,000 commits. not because it matched your words — because it matched your intent. A few things I'm proud of- One binary. installs in 10 seconds. no internet required, no daemon running. your code never leaves your machine. just you and your git history, finally talking to each other. open source. built in rust btw. works on mac, windows, and linux. GitHub: https://lnkd.in/gq8tsjqg try it and feel free to contribute😌. #ageticai #aiagents #git #ai #rust #opensource
To view or add a comment, sign in
-
🚨 Ever switched to a new Git branch and suddenly seen 500+ modified files… even though you didn’t change a single line of code? 😵💫 I’ve been there — and it’s incredibly frustrating. Turns out, this is usually not a Git bug. It’s almost always caused by line ending mismatches (LF vs CRLF) — especially when you mix: GitHub Desktop on Windows (which loves CRLF) WSL/Linux terminal (which expects LF) Bonus chaos: files owned by root after running bench commands, so even git reset --hard fails. In my latest blog post, I break down exactly why this happens and share the clean fix that actually works: ✅ Disable autocrlf + set LF ✅ Re-normalize your Git index ✅ Fix file ownership ✅ Add a .gitattributes file so it never happens again for your team 👉 Read the full post here: https://lnkd.in/ghh34-Fw If you’ve ever lost time fighting phantom Git changes, this one’s for you. Would love to hear — what’s the weirdest Git issue you’ve encountered? Drop it in the comments 👇 #Git #GitTips #DeveloperLife #Programming #WebDevelopment #Frappe
To view or add a comment, sign in
-
Day 31/100: Time Traveling with Git – Basic Versioning ⏳ Today’s Focus: Yesterday, I learned how to save my work using git commit. But what happens when you actually need to use those saved snapshots? Today, I dove into Basic Versioning in Git to understand how to read project history and navigate between different versions of my code. 🧠 The Core Concept: The Commit Hash Every time you make a commit in Git, it generates a unique 40-character alphanumeric ID called a SHA-1 hash (e.g., a1b2c3d...). This hash is the exact coordinates of that specific version of your project in time! 🛠️ The Commands I Mastered: I practiced exploring my repository's history and moving through time: git log: The ultimate project diary. This command lists out the entire timeline of commits, showing who made the change, when they made it, the commit message, and that all-important commit hash. git log --oneline: A cleaner, condensed version of the log that makes it much easier to read when you have dozens of commits. git show [commit-hash]: Zooming in on a specific moment. This shows me exactly which lines of code were added or deleted in that particular commit. git checkout [commit-hash]: The time machine! Running this command changes the files in my working directory to look exactly as they did at that moment in the past. Why It Matters: In a DevOps or development environment, code breaks. It is inevitable. Versioning means that if a new script or application update crashes the system, I don't have to panic or try to remember what I changed. I can simply look at the git log and safely roll the project back to the last known working state. It is the ultimate "undo" button! 🔄 #100DaysOfDevOps #100DaysOfCode #Git #VersionControl #Linux #SysAdmin #DevOpsEngineer #TechJourney #DailyProgress #CloudComputing #CodingLife
To view or add a comment, sign in
-
Day 33/100: The Ultimate "Undo" Button – Git Rollbacks & Diffs ⏪ Today’s Focus: Over the last few days, I learned how to save my code with Git, but what happens when you make a mistake? What if you commit the wrong file, or a new feature completely breaks the project? Today, I focused on Git Rollbacks, learning how to inspect changes and safely travel back in time to fix errors. 🛠️ The Commands I Mastered: Before you can undo a mistake, you have to see it. Then, you need to choose the right way to remove it: git diff: The detective tool! Before I stage or commit anything, this command shows me exactly which lines of code I added (in green) or deleted (in red) since my last save. It is the perfect final sanity check. git reset [commit-hash]: The standard rollback. This moves the project's history back to a specific older commit, but it safely keeps all my current code changes in my working directory so I can edit them. git reset --hard [commit-hash]: The nuclear option! ☢️ This command doesn't just roll back the history; it completely wipes out any new code I wrote after that specific commit. It makes the files look exactly as they did at that moment in the past. Use with caution! Why It Matters: In real-world DevOps and software engineering, you will break things. Knowing how to use git diff prevents bad code from being committed in the first place, and mastering git reset ensures that even if bad code makes it into the repository, you can instantly revert the system back to a stable, working state! 🛠️ #100DaysOfDevOps #100DaysOfCode #Git #VersionControl #Linux #SysAdmin #DevOpsEngineer #TechJourney #DailyProgress #CloudComputing #CodingLife
To view or add a comment, sign in
Explore related topics
- How to Use Git for Version Control
- How to Use Git for IT Professionals
- DevOps Engineer Core Skills Guide
- Version Control Systems in Development Projects
- Using Version Control For Clean Code Management
- Essential Git Commands for Software Developers
- How to Understand Git Basics
- Key Skills for a DEVOPS Career
- Project Timeline Trackers
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development