今日已更新 256 条资讯 | 累计 20726 条内容
关于我们

标签:#git

找到 1111 篇相关文章

AI 资讯

Your branch protection is quietly turning away first-time contributors

Ten weeks ago I did the thing every "grow your open source project" guide tells you to do. I carved a few small, self-contained tasks out of my backlog, labeled them good first issue , wrote crisp descriptions, and waited for contributors to roll in. They didn't roll in. The issues just sat there. This morning, one of them finally got picked up. A first-time contributor opened a clean PR against my MCP server: a smoke-test suite, no new dependencies, green across the whole Node CI matrix. Exactly the contribution the label was advertising for. And then my own repository spent the next twenty minutes trying to stop it from getting merged. Not with anything dramatic. With three quiet, individually-reasonable "best practice" gates that, stacked together, form a gauntlet aimed squarely at the one person you spent ten weeks trying to attract. I want to walk through each gate, because almost everything written about contributors is about attracting them, and almost nothing is about the last hundred feet — the silent friction between a willing PR and a merged commit. The advice is only half the story "Add good first issues and contributors will come" is true in the same way "build it and they will come" is true: technically, eventually, for a small subset, with survivorship bias baked in. My good first issue opened on March 31. The PR that closed it merged on June 8. That's sixty-nine days of a clearly-labeled, beginner-friendly task sitting untouched. I'm not complaining about the wait — that part is normal. I'm pointing out that the advice stops exactly where the interesting problem starts. Because the bottleneck was never finding someone willing. When someone willing finally showed up, the friction was entirely on my side of the fence. Gate 1: the CI that silently refuses to run GitHub Actions does not run workflows on pull requests from first-time contributors until a maintainer approves the run. This is a sane anti-abuse measure — fork PRs can run arbitrary code in yo

2026-06-08 原文 →
AI 资讯

Git & Collaboration: A Beginner's Guide (With Real Analogies)

🌐 Read this post in Bahasa Indonesia here . 📝 A note on this article This post is based on my personal study notes on version control and Git collaboration. To make these notes more readable and useful — for myself and for others — I worked with AI to help expand and structure them into a proper blog format. The ideas, learning journey, and understanding are mine; the AI helped with the writing and presentation. Learning Git doesn't have to be intimidating. In this article, I'll break down the essential concepts of version control and collaboration — using simple analogies that anyone can understand. What Is Git? Git is a version control system . Think of it as a save system for your code — like save points in a video game. Every time you save (commit), Git remembers the state of your project at that moment. If something goes wrong, you can always go back. Repository: Your Project's Warehouse A repository (or "repo") is the folder that Git watches. There are two types: Local repository : lives on your computer. Your personal workspace. Remote repository : lives on a server (GitHub, GitLab, Bitbucket). The "official" shared copy your team can access. They stay connected through a Remote URL, so you can push your local changes up and pull others' changes down. git init # Start tracking a folder git remote add origin <url> # Connect to a remote repo git push origin main # Send commits to remote git pull origin main # Get latest from remote Commit: Your Project's Save Point A commit is a snapshot of your project at a specific moment. Each commit has: A message describing what changed A unique ID (hash) A timestamp git add . # Stage all changes git commit -m "Add homepage layout" # Save a snapshot git log --oneline # View commit history Write meaningful commit messages. Future you will thank present you. Checkout, Reset, Revert: Traveling Through Time These three commands all interact with your commit history — but in very different ways: git checkout — Visit the Past (T

2026-06-08 原文 →
AI 资讯

Git & Kolaborasi: Panduan untuk Pemula (Lengkap dengan Analogi)

🌐 Baca artikel ini dalam Bahasa Inggris di sini . 📝 Catatan tentang artikel ini Artikel ini dibuat berdasarkan catatan belajar pribadi saya tentang version control dan Git kolaborasi. Untuk membuat catatan tersebut lebih mudah dibaca dan bermanfaat — bagi saya dan orang lain — saya menggunakan bantuan AI untuk mengembangkan dan menyusunnya menjadi artikel blog. Ide, perjalanan belajar, dan pemahamannya adalah milik saya; AI membantu di bagian penulisan dan penyajiannya. Belajar Git itu tidak harus membingungkan. Di artikel ini, saya akan menjelaskan konsep-konsep penting dalam version control dan kolaborasi menggunakan bahasa yang sederhana — bahkan dengan analogi yang bisa dipahami anak kecil sekalipun. Apa Itu Git? Git adalah version control system — sistem yang merekam setiap perubahan yang kamu lakukan pada file-file proyekmu. Bayangkan Git seperti fitur save point di video game. Setiap kali kamu menyimpan (commit), Git mengambil "foto" dari kondisi proyekmu saat itu. Kalau ada yang salah, kamu bisa kembali ke foto sebelumnya. Repository: Gudang Proyekmu Repository (atau "repo") adalah folder yang diawasi oleh Git. Ada dua jenisnya: Local repository : ada di komputermu sendiri. Ruang kerja pribadimu. Remote repository : ada di server (GitHub, GitLab, Bitbucket). Salinan "resmi" yang bisa diakses seluruh tim. Keduanya terhubung lewat Remote URL, sehingga kamu bisa mengirim perubahan ke remote ( push ) atau mengambil perubahan terbaru dari sana ( pull ). git init # Mulai memantau sebuah folder git remote add origin <url> # Hubungkan ke remote repo git push origin main # Kirim commit ke remote git pull origin main # Ambil update terbaru dari remote Analogi: Local repo adalah buku sketsamu di rumah. Remote repo adalah papan pengumuman kelas — semua orang bisa melihat dan mengaksesnya. Commit: Save Point Proyekmu Commit adalah snapshot dari kondisi proyekmu pada satu titik waktu. Setiap commit berisi: Pesan yang menjelaskan apa yang berubah ID unik (hash) Timestamp g

2026-06-08 原文 →
AI 资讯

Reviving My 2-Year-Old Abandoned LMS Project with Copilot

This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built I built Academia, a modern, delivery-only Learning Management System (LMS) designed for creators who want a premium, distraction-free environment for their students. With Academia, educators can spin up their own custom academy, build out rich curriculums with video and text lessons, and securely invite students via email magic-links. Once a student accepts an invite, they are dropped into an isolated, hyper-clean student portal that tracks their course progress in real-time. This project started two years ago during a hackathon. I had this really great idea, but I was still very much a beginner. Between the tight timeframe, lack of sleep, and my slow coding speed, I just couldn't pull through to finish the project in time to submit. It sat abandoned in my repositories, gathering dust. Finishing it means finally delivering on the exact vision I had in my head two years ago, but with the skills and architecture of today. Demo Live Site Repository The Comeback Story I always told myself I’d finish this project "after the dust settles," but I never got around to it. When I saw this challenge, I knew it was time. Just looking at the 2-year-old repository gave me an instant headache. The packages were entirely outdated, Vercel was throwing massive build errors, and running npm run dev was painfully slow. Basically, everything was lagging. I seriously considered just starting a fresh repo from scratch. I figured I would just look at the shabby design I created two years ago and try to manually copy-paste the "important" code over, because I knew updating the existing mess would be an absolute nightmare. But instead, I decided to lean heavily on GitHub Copilot Auto (so I could automatically get the best models for the job) to see if we could salvage and modernize the original codebase. Here is the story of my before-and-after journey, and how Copilot helped me finally finish what I started. My Expe

2026-06-08 原文 →
AI 资讯

"Autonomous coding agents don't break in the middle, they break at the seams"

After running AI coding agents in production for a while, one thing became clear: the failures aren't in the code the model writes. They're at the seams — git, CI, auth, the network. The boundaries with the outside world. The model itself is genuinely capable. It writes functions, writes tests, refactors. What breaks is everything around the work: pushing the result, waiting on CI, merging the PR, refreshing a token, calling another service. And the failures are often the kind a human would avoid without thinking. Here are five incidents we hit and fixed in Codens' Purple (the orchestration core) over the last few weeks. All real, with production task IDs and dates. Every fix is merged. There's a shared design lesson at the end that ties them together. Incident 1: a half-resolved merge nearly flooded a PR with 12,000 lines This was the scary one. A Purple task on opsguide-back opened a PR. I looked inside: +12,162 lines / 149 files changed, with literal <<<<<<< markers in 2 of them . The commit graph: e567ce67 (merge commit, "chore: Fix HYBRID_SEARCH...") ├ parent[0] = 0b069e5d (develop tip, +1468 commits over main) └ parent[1] = 2940de35 (the actual feature commit) What happened: in the fix step, the AI decided to git merge develop to backport some test fixes. The merge conflicted. The AI resolved it partially and drove git commit through anyway with markers still in the tree. What got pushed: develop's entire divergence plus unresolved conflict markers. If anyone had clicked merge, main would have been polluted by 1468 commits of develop drift in one shot. A human wouldn't do this. They wouldn't merge develop into a main-targeted PR in the first place, and if it conflicted they wouldn't commit until it was fully resolved. But the AI, optimizing locally to get one test passing, does it without hesitation. Fix: stop it at push time, in two layers A single git pre-push hook. This is where the AI's git push actually goes, so this is where the guard belongs. #!/bin/bas

2026-06-08 原文 →
AI 资讯

Your Notes, Your Voice, Your Study Group. One App. How I Finally Finished It.

This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built The average student opens their notes 3 days before the exam. The above average student opens them the night before. Either way, they both end up on YouTube at 3am watching a guy explain thermodynamics with a whiteboard and too much energy. I built something better. I built Forge AI — a collaborative AI study platform that turns your lecture notes, PDFs, and YouTube links into a full study session with an AI tutor that actually talks back. Here is what it does: 📄 Upload your notes or paste a YouTube link — Forge AI reads everything and builds you a prioritised study plan in seconds. 🧠 Deep Dive into any topic — get full AI generated study notes, a mnemonic memory trick, and a built-in quiz. 🎙️ Talk to your AI tutor live — it listens, speaks back, and you can see the transcript building in real time as it talks. 👥 Create a Forge Room — invite your study group, ask the AI questions together, battle each other in a live quiz, and everyone sees everything at the same time. It started as CrammAI . A solo study tool I built under exam pressure. Well, it could generate a study plan from your uploaded files and quiz you on topics. That was it. No voice. No collaboration. No rooms. No Finesse. Just you, alone, cramming at 2am. Five months later I came back to finish it. The result is Forge AI. Demo Live app GitHub Here is what Forge AI can do: 1. Upload your materials and pick your mode Three modes based on how much time you have: 🧘 Cruise Control — 1+ week until exam 🚀 Turbo Mode — 2 days left ⚡ Zoom Mode — due tonight 2. Paste a YouTube link — it transcribes automatically ts export const apiFetchYoutubeTranscript = async ( url : string ): Promise < string > => { const videoId = extractYoutubeId ( url ); const response = await fetch ( `/api/transcript?videoId= ${ videoId } ` ); const data = await response . json (); return data . transcript ; }; No manual transcription. Paste the link, Forge AI pull

2026-06-08 原文 →
AI 资讯

TradeWeave: Eliminating Middlemen in Fashion

This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built I built TradeWeave — a B2B + B2C fashion marketplace that connects small scale weavers and manufacturers directly to customers and retailers, eliminating middlemen entirely. The project started as a notebook idea at midnight: "What if factory workers and artisans could sell directly, keeping the full margin instead of losing 40% to supply chain bloat?" Demo 🔗 Live Demo — TradeWeave — Try it right now, no installation needed How to use: Hover over any dress card — it flips to reveal sizes Pick a size, adjust quantity, click "Add to cart" Click "Sign up" to see the premium registration flow Click the TradeWeave logo 5 times to unlock the hidden admin dashboard Click "Wholesale" tab to see direct manufacturer listings 💻 Source Code: github.com/Deeraj25/tradeweave The Comeback Story Before: Idea scribbled in a notebook at midnight Zero code written Zero deployment Tucked away under "someday projects" Status: Abandoned After: Full-featured marketplace in production ~550 lines of polished HTML/CSS/JavaScript Deployed live on Netlify + GitHub Pages Anyone can use it instantly Real product with real features Core fixes: Built the entire marketplace from scratch (this was a notebook idea, not existing code) Implemented hover-to-flip cards with CSS 3D transforms (perspective + rotateY) Created responsive product grid with auto-fill layout Built localStorage persistence for cart + admin state What Changed, Fixed, and Added Features added: 5 product categories with 20+ items Hover-flip interaction (no page reload needed) AI Try-On modal with upload UX Wholesale B2B portal with manufacturer data Hidden admin dashboard (5-click unlock) Aurora-style signup with animated hero and steps Real-time analytics dashboard (revenue, top categories, order table) Mobile-responsive design Keyboard + mouse support Polish & optimization: Custom animations (staggered reveals, floats, shimmers) Cormorant Garamond typograp

2026-06-07 原文 →
AI 资讯

SpendWise - AI Spend Audit Tool to launch ready App

This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built SpendWise AI is a free tool that audits your AI tool spending (Cursor, Copilot, Claude, ChatGPT, Gemini, Windsurf) against verified vendor pricing and tells you exactly where you're overspending and what to do about it. I originally built this as a week-long assignment for a startup. The problem it solves is simple: founders and engineering managers pay for multiple AI tools but have no idea if they're getting ripped off. SpendWise gives them that answer in under a minute, no signup needed. The interesting part is that the core audit engine has zero AI in it. It runs 6 hardcoded rules against verified pricing data, so every recommendation is reproducible and verifiable. AI (Groq's Llama 3) only kicks in to write a friendly summary paragraph on top of the structured results. I made this choice because financial recommendations need to be deterministic. Same input, same output, every time. The stack is Next.js 16, TypeScript, Tailwind + shadcn/ui, Supabase for the database, Groq for AI summaries, Resend for emails, and Vitest for testing. Deployed on Vercel. Live app: spendwise-ai-test.vercel.app Source code: github.com/Karam-999/SpendWise-AI Demo The original audit tool: The comeback (re-audit on pricing change): You can try the Round 1 version live at spendwise-ai-test.vercel.app . Pick a tool like Cursor on Teams plan at $40/mo, run the audit, and see the full savings breakdown. The Round 2 features (pricing change detection, re-audit diff view) are on a separate branch and not merged to main yet, but the demo video above walks through the complete flow. The Comeback Story Where it was: The original version was basically a calculator. You fill in your AI tools, it shows you where you can save money, and that's it. If Cursor changed its pricing the next week, your audit was already stale and you'd never know about it. It worked fine as a one-time thing. It had the form, the audit engine, AI

2026-06-07 原文 →