[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-settings":3,"nav-course-tabs":225,"blog-article-git-la-gi-github-la-gi":282},{"site":4,"home":19,"footer":172,"payment":214,"promo":221},{"name":5,"tagline":6,"url":7,"logoUrl":8,"primaryColor":9,"contactEmail":10,"hotline":11,"facebookUrl":12,"youtubeUrl":13,"kungfutechUrl":14,"announcement":15},"MelyDemy","Học lập trình thực chiến từ con số 0","https:\u002F\u002Fmelydemy.io.vn","\u002Fimages\u002Fbrand\u002Flogo.svg?v=3","#dc2626","techmely.creation@gmail.com","","https:\u002F\u002Fwww.facebook.com\u002Fmelydemy.techmely\u002F","https:\u002F\u002Fwww.youtube.com\u002Fc\u002FTechMely?sub_confirmation=1","https:\u002F\u002Fkungfutech.io.vn",{"enabled":16,"text":17,"link":18},true,"Ưu đãi Mely 29k — học lập trình trọn đời chỉ từ 29.000đ","\u002Fkhoa-hoc\u002F29k",{"seo":20,"hero":26,"banners":49,"sectionCopy":60,"categories":78,"features":100,"onlyMelyDemy":117,"aboutUs":130,"testimonials":142,"newsletter":167},{"title":21,"description":22,"keywords":23},"MelyDemy - Khoá học lập trình thực chiến dành cho bạn","MelyDemy cung cấp khoá học lập trình Frontend, Backend, DevOps và AI thực chiến bằng tiếng Việt, học trọn đời chỉ từ 29.000đ.",[24,5,25],"Khoá học lập trình","Thực chiến lập trình",{"badge":27,"title":28,"highlight":29,"description":30,"primaryCta":31,"secondaryCta":34,"stats":36},"Nền tảng học lập trình #1 cho người Việt","Học kỹ năng công nghệ","thực chiến, trọn đời","Hơn 40 khoá học Frontend, Backend, DevOps và AI — video bài bản, source code đi kèm, học mọi lúc mọi nơi.",{"label":32,"to":33},"Khám phá khoá học","\u002Fkhoa-hoc",{"label":35,"to":18},"Ưu đãi 29k",[37,40,43,46],{"value":38,"label":39},"40+","Khoá học",{"value":41,"label":42},"15.000+","Học viên",{"value":44,"label":45},"4.8\u002F5","Đánh giá",{"value":47,"label":48},"Trọn đời","Truy cập",[50,56],{"badge":51,"title":52,"description":53,"link":54,"color":55},"Xu hướng 2026","Lộ trình AI thực chiến","Prompt, workflow và tích hợp công cụ — học theo bài lab, áp dụng ngay vào dự án.","\u002Fkhoa-hoc\u002Fai","#7c3aed",{"badge":57,"title":58,"description":59,"link":18,"color":9},"Mely 29k","Học lập trình từ 29.000đ","Video trọn đời, source code đi kèm — bắt đầu Frontend, Backend hoặc DevOps hôm nay.",{"courses":61,"onlyMelyDemy":64,"about":67,"community":70,"blog":74},{"title":62,"subtitle":63},"Khoá học nổi bật","Các khoá học xây dựng bài bản, đáp ứng nhu cầu thực tế của thị trường",{"title":65,"subtitle":66},"Chỉ có tại MelyDemy","Khoá học chất lượng với mức giá dễ tiếp cận nhất",{"title":68,"subtitle":69},"Lộ trình học trên MelyDemy","Ba lộ trình cốt lõi — Full-stack, DevOps và AI — giúp bạn áp dụng ngay vào dự án thực tế.",{"headline":71,"title":72,"subtitle":73},"Được học viên tin tưởng","Học viên nói gì về MelyDemy","Hàng nghìn học viên đã học lập trình thực chiến — từ sinh viên, fresher đến người chuyển ngành.",{"title":75,"subtitle":76,"listPageSubtitle":77},"Blog","Tin tức, kiến thức công nghệ mới nhất từ MelyDemy","Tổng hợp tin tức AI và công nghệ mới nhất — kiến thức thực chiến cho lập trình viên.",[79,84,88,93,97],{"label":80,"to":81,"icon":82,"color":83},"Frontend","\u002Fkhoa-hoc\u002Fkhoa-hoc-frontend","i-lucide-layout-template","#f97316",{"label":85,"to":86,"icon":87,"color":9},"Backend","\u002Fkhoa-hoc\u002Fkhoa-hoc-backend","i-lucide-server",{"label":89,"to":90,"icon":91,"color":92},"DevOps","\u002Fkhoa-hoc\u002Fkhoa-hoc-devops","i-lucide-container","#0ea5e9",{"label":94,"to":54,"icon":95,"color":96},"AI","i-lucide-sparkles","#8b5cf6",{"label":57,"to":18,"icon":98,"color":99},"i-lucide-ticket-percent","#16a34a",[101,105,109,113],{"title":102,"description":103,"icon":104},"Video trọn đời","Mua một lần, học mãi mãi — cập nhật nội dung miễn phí.","i-lucide-infinity",{"title":106,"description":107,"icon":108},"Source code đi kèm","Mỗi bài học đều có code mẫu để bạn thực hành ngay.","i-lucide-code-xml",{"title":110,"description":111,"icon":112},"Tiếng Việt dễ hiểu","Giảng viên giải thích rõ ràng, ví dụ sát dự án thật.","i-lucide-languages",{"title":114,"description":115,"icon":116},"Cộng đồng hỗ trợ","Hỏi đáp nhanh cùng cộng đồng KungFuTech và mentor.","i-lucide-users-round",[118,122,126],{"title":119,"description":120,"image":121},"Giới thiệu chương trình","\u003Cp>Học lập trình với khoá học chất lượng: video bài giảng, source code và quyền truy cập trọn đời.\u003C\u002Fp>","\u002Fimages\u002Fhome\u002F49k-section-1.jpg",{"title":123,"description":124,"image":125},"Học dễ dàng, chi phí thấp","\u003Cp>Khoá học ngắn gọn, thực tế với mức giá chỉ từ 29K. Theo dõi thường xuyên để cập nhật ưu đãi.\u003C\u002Fp>","\u002Fimages\u002Fhome\u002F49k-section-2.jpg",{"title":127,"description":128,"image":129},"Chọn khoá học và bắt đầu","\u003Cp>Khám phá khoá học Frontend, Backend, DevOps, Mobile và AI — bắt đầu hành trình của bạn hôm nay.\u003C\u002Fp>","\u002Fimages\u002Fhome\u002F49k-section-3.jpg",[131,136,139],{"title":132,"description":133,"icon":134,"image":135},"Backend & Frontend","Xây dựng ứng dụng web từ giao diện đến hệ thống phía sau với công nghệ hiện đại.","i-lucide-layers","\u002Fimages\u002Fhome\u002Fabout-track-1.jpg",{"title":89,"description":137,"icon":91,"image":138},"Triển khai, vận hành và tối ưu hệ thống để ứng dụng chạy ổn định, mở rộng dễ dàng.","\u002Fimages\u002Fhome\u002Fabout-track-2.jpg",{"title":94,"description":140,"icon":95,"image":141},"Xây dựng ứng dụng tích hợp AI, tự động hoá workflow và phát triển sản phẩm thông minh.","\u002Fimages\u002Fhome\u002Fabout-track-3.jpg",[143,147,151,155,159,163],{"fullname":144,"role":145,"description":146},"Nguyễn Minh Anh","Sinh viên CNTT — Đại học Bách Khoa TP.HCM","Rất nhiều khoá học bổ ích từ Frontend, Backend đến DevOps — mình chọn lộ trình phù hợp mà không bị lạc. Video và source trọn đời, ôn lại rất tiện.",{"fullname":148,"role":149,"description":150},"Trần Hoàng Nam","Kế toán chuyển ngành IT — Hà Nội","Khoá AI giúp mình hiểu prompt, workflow và cách tích hợp công cụ vào việc học code hằng ngày. Bài ngắn, học buổi tối không bị quá tải.",{"fullname":152,"role":153,"description":154},"Lê Thị Hương","Fresher Frontend — FPT Software Đà Nẵng","Khoá TypeScript làm rõ type, interface và cách refactor code cũ — mình tự tin review PR và làm task trong dự án thật.",{"fullname":156,"role":157,"description":158},"Phạm Quốc Bảo","Kỹ sư cơ khí — tự học lập trình buổi tối","Lộ trình DevOps (CI\u002FCD, Docker) giúp mình hiểu pipeline deploy thay vì chỉ code local. Checklist từng tuần giữ nhịp học ổn định.",{"fullname":160,"role":161,"description":162},"Võ Thanh Tú","Intern Backend — startup tại TP.HCM","Khoá Node.js và thiết kế API giúp mình nắm REST, validation và database qua bài lab thực tế. Slide đính kèm tiện ôn phỏng vấn.",{"fullname":164,"role":165,"description":166},"Đặng Kim Ngân","Designer chuyển sang UI Developer","Khoá HTML\u002FCSS Grid & Flexbox giúp mình chuyển layout Figma sang markup chuẩn, responsive đúng spec.",{"title":168,"description":169,"placeholder":170,"buttonLabel":171},"Nhận tin khoá học & ưu đãi","Đăng ký email để cập nhật lộ trình mới, workshop và chương trình Mely 29k.","Email của bạn","Đăng ký",{"brandLine":173,"description":174,"columns":175},"MELYDEMY — Học lập trình từ con số 0","Nền tảng khoá học lập trình thực chiến thuộc hệ sinh thái KungFuTech.",[176,184,204],{"title":39,"links":177},[178,180,182],{"label":179,"to":33},"Tất cả khoá học",{"label":181,"to":18},"Ưu đãi Mely 29k",{"label":183,"to":54},"Khoá học AI",{"title":185,"links":186},"Tài nguyên",[187,189,192,195,198,201],{"label":75,"to":188},"\u002Fblog",{"label":190,"to":191},"Giới thiệu","\u002Fgioi-thieu",{"label":193,"to":194},"Liên hệ","\u002Flien-he",{"label":196,"to":197},"Câu hỏi thường gặp","\u002Fcau-hoi-thuong-gap",{"label":199,"to":200},"Điều khoản","\u002Fterms-and-conditions",{"label":202,"to":203},"Chính sách bảo mật","\u002Fprivacy-policy",{"title":205,"links":206},"Hệ sinh thái",[207,209,212],{"label":208,"href":14},"KungFuTech",{"label":210,"href":211},"TechMely YouTube","https:\u002F\u002Fwww.youtube.com\u002Fc\u002FTechMely",{"label":213,"href":12},"Facebook MelyDemy",{"bankName":215,"bankCode":216,"accountNumber":217,"accountName":218,"qrTemplate":219,"note":220},"MB Bank","MBBank","0680126400005","PHAM NGOC HOA","https:\u002F\u002Fqr.sepay.vn\u002Fimg?acc={accountNumber}&bank={bankCode}&amount={amount}&des={paymentCode}","Khoá học sẽ được gửi vào email của bạn sau khi thanh toán thành công.",{"promo49k":222},{"enabled":16,"displayPrice":223,"title":57,"description":224},29000,"Học lập trình trọn đời chỉ từ 29.000đ",[226,238,249,260,272],{"id":227,"name":228,"slug":229,"title":24,"canonicalSlug":230,"heroDescription":231,"seoTitle":232,"seoDescription":233,"intro":234},1,"Tất cả các khóa học","tat-ca",null,"Khám phá lộ trình Frontend, Backend, DevOps và AI — học thực chiến với video trọn đời.","Khoá học lập trình online tiếng Việt | MelyDemy","Học lập trình online cùng MelyDemy: khoá Frontend, Backend, DevOps và AI thực chiến bằng tiếng Việt, video xem trọn đời, kèm source code dự án.",[235,236,237],"MelyDemy là nền tảng khoá học lập trình bằng video tiếng Việt, tập trung vào kỹ năng làm được việc: mỗi khoá đi từ kiến thức nền tảng đến dự án thực tế, có source code đi kèm để bạn thực hành theo từng bài.","Danh mục gồm bốn nhóm chính. Frontend dành cho người muốn xây giao diện web với HTML, CSS, JavaScript, ReactJS hay Next.js. Backend dạy lập trình API, cơ sở dữ liệu và kiến trúc hệ thống với nhiều ngôn ngữ và framework. DevOps hướng dẫn Docker, CI\u002FCD, cloud và vận hành hệ thống. Nhóm AI giúp bạn dùng các công cụ và agent AI để tăng năng suất làm việc.","Bạn có thể lọc theo nhóm hoặc tìm theo tên công nghệ. Khoá học được mua một lần và xem lại không giới hạn thời gian, phù hợp cho cả người mới bắt đầu lẫn lập trình viên muốn mở rộng kỹ năng. Nếu chưa biết nên bắt đầu từ đâu, hãy chọn nhóm Frontend hoặc Backend và xem phần nội dung chi tiết của từng khoá để đánh giá độ phù hợp.",{"id":239,"name":85,"slug":240,"title":85,"canonicalSlug":241,"heroDescription":242,"seoTitle":243,"seoDescription":244,"intro":245},2,"khoa-hoc-backend","backend","API, database và kiến trúc hệ thống — từ nền tảng đến dự án thực tế.","Khoá học lập trình Backend online | MelyDemy","Học lập trình Backend bằng tiếng Việt: xây dựng API, làm việc với cơ sở dữ liệu và thiết kế hệ thống qua các khoá video thực chiến tại MelyDemy.",[246,247,248],"Lập trình Backend là phần xử lý đằng sau mọi ứng dụng: nhận yêu cầu từ giao diện, xử lý nghiệp vụ, lưu và truy vấn dữ liệu rồi trả kết quả về cho người dùng. Các khoá Backend tại MelyDemy hướng dẫn bạn xây dựng API, làm việc với cơ sở dữ liệu quan hệ và NoSQL, xác thực người dùng và triển khai ứng dụng.","Mỗi khoá bắt đầu từ nền tảng ngôn ngữ và framework, sau đó đi tới các chủ đề thực tế như thiết kế REST API, tối ưu truy vấn, bảo mật và kiểm thử. Bạn học qua video, làm theo source code và hoàn thành dự án cuối khoá để có sản phẩm đưa vào hồ sơ.","Hãy chọn ngôn ngữ phù hợp với mục tiêu công việc của bạn, xem nội dung từng chương trong trang khoá học rồi bắt đầu học theo tốc độ riêng. Học viên có thể xem lại bài giảng không giới hạn thời gian.",{"id":250,"name":80,"slug":251,"title":80,"canonicalSlug":252,"heroDescription":253,"seoTitle":254,"seoDescription":255,"intro":256},3,"khoa-hoc-frontend","frontend","HTML, CSS, JavaScript và framework hiện đại — xây giao diện responsive chuẩn doanh nghiệp.","Khoá học lập trình Frontend online | MelyDemy","Học Frontend bằng tiếng Việt: HTML, CSS, JavaScript, ReactJS, Next.js và nhiều hơn nữa, xây giao diện responsive qua khoá video thực chiến tại MelyDemy.",[257,258,259],"Lập trình Frontend là kỹ năng xây dựng phần giao diện người dùng nhìn thấy và tương tác trên web. Các khoá Frontend tại MelyDemy đi từ HTML, CSS và JavaScript nền tảng đến các framework hiện đại như ReactJS và Next.js, giúp bạn dựng giao diện responsive đạt chuẩn doanh nghiệp.","Nội dung nhấn mạnh thực hành: bạn xây dựng từng thành phần giao diện, quản lý trạng thái, gọi API, tối ưu hiệu năng và SEO, rồi hoàn thiện một dự án hoàn chỉnh. Source code được cung cấp để bạn đối chiếu và tự chỉnh sửa.","Nếu mới bắt đầu, hãy học chắc JavaScript trước khi chuyển sang framework. Nếu đã có nền tảng, bạn có thể chọn thẳng khoá ReactJS hoặc Next.js. Xem mục nội dung trong từng khoá để biết chính xác bạn sẽ học những gì.",{"id":261,"name":262,"slug":263,"title":262,"canonicalSlug":264,"heroDescription":265,"seoTitle":266,"seoDescription":267,"intro":268},4,"Devops","khoa-hoc-devops","devops","CI\u002FCD, container và vận hành hệ thống — triển khai ổn định, mở rộng dễ dàng.","Khoá học DevOps online tiếng Việt | MelyDemy","Học DevOps bằng tiếng Việt: Docker, CI\u002FCD, cloud và vận hành hệ thống qua các khoá video thực chiến, giúp triển khai ứng dụng ổn định tại MelyDemy.",[269,270,271],"DevOps kết nối phát triển và vận hành: tự động hoá việc build, kiểm thử, triển khai và giám sát để phần mềm được đưa đến người dùng nhanh và ổn định hơn. Các khoá DevOps tại MelyDemy hướng dẫn bạn làm quen với Linux, container, pipeline CI\u002FCD và hạ tầng đám mây.","Bạn sẽ thực hành trực tiếp: đóng gói ứng dụng bằng Docker, thiết lập quy trình tự động triển khai, quản lý cấu hình và theo dõi hệ thống khi chạy thật. Mỗi bài đều đi kèm ví dụ có thể làm lại trên máy hoặc máy chủ của bạn.","Nhóm khoá này phù hợp với lập trình viên muốn tự triển khai sản phẩm của mình, hoặc người muốn chuyển hướng sang vai trò DevOps và cloud. Hãy xem nội dung chi tiết từng khoá để chọn lộ trình phù hợp.",{"id":273,"name":94,"slug":274,"title":94,"canonicalSlug":274,"heroDescription":275,"seoTitle":276,"seoDescription":277,"intro":278},5,"ai","Prompt, workflow và tích hợp công cụ AI — học theo bài lab, áp dụng ngay vào dự án.","Khoá học AI ứng dụng cho lập trình | MelyDemy","Học AI ứng dụng bằng tiếng Việt: prompt, workflow tự động và agent AI qua các bài lab thực hành, áp dụng ngay vào công việc và dự án tại MelyDemy.",[279,280,281],"Các khoá AI tại MelyDemy tập trung vào việc ứng dụng: dùng công cụ AI để viết code nhanh hơn, tự động hoá công việc lặp lại và xây dựng agent hỗ trợ công việc hằng ngày, thay vì chỉ giải thích lý thuyết.","Bạn sẽ học cách viết prompt hiệu quả, thiết kế workflow kết nối nhiều công cụ, tự host agent trên máy chủ riêng và tích hợp AI vào quy trình phát triển phần mềm. Mỗi chủ đề có bài lab để bạn làm theo và áp dụng được ngay.","Nhóm khoá này phù hợp với lập trình viên, người làm nội dung và bất kỳ ai muốn tăng năng suất bằng AI. Hãy xem phần nội dung từng khoá để biết công cụ và kết quả bạn sẽ đạt được.",{"id":283,"slug":284,"title":285,"excerpt":286,"createdAt":287,"updatedAt":287,"category":288,"thumbnail":290,"content":291,"head":292,"author":299,"image":302,"same_category":303,"sameCategory":352},"d08b2d2e-9eb1-4093-94e0-4b811912ab1a","git-la-gi-github-la-gi","Git là gì? GitHub là gì? Hướng dẫn cho người mới","Git và GitHub khác nhau thế nào, các lệnh Git cơ bản, quy trình branch – commit – pull request.","2026-11-03T15:05:16",{"name":75,"slug":289,"description":11},"blog",{"url":11,"alt":285},"\u003Cp>\u003Cstrong>Git là gì?\u003C\u002Fstrong> Git là hệ thống quản lý phiên bản phân tán, giúp lưu lại lịch sử thay đổi của mã nguồn, quay lại phiên bản cũ và làm việc nhóm mà không ghi đè code của nhau. \u003Cstrong>GitHub là gì?\u003C\u002Fstrong> GitHub là dịch vụ lưu trữ kho Git trực tuyến, bổ sung các tính năng cộng tác như pull request, review code, quản lý issue và CI\u002FCD. Bài viết giải thích sự khác nhau giữa Git, GitHub, GitLab và hướng dẫn các lệnh cơ bản để bạn dùng được ngay.\u003C\u002Fp>\n\n\u003Ch2>Vì sao lập trình viên nào cũng cần Git?\u003C\u002Fh2>\n\u003Cp>Thử tưởng tượng bạn đang làm một dự án và có các thư mục \u003Ccode>du-an-final\u003C\u002Fcode>, \u003Ccode>du-an-final-2\u003C\u002Fcode>, \u003Ccode>du-an-final-that-su\u003C\u002Fcode>… Khi làm việc nhóm, mọi người gửi file qua chat và không ai chắc bản nào mới nhất. Git giải quyết những vấn đề đó:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Lưu lịch sử:\u003C\u002Fstrong> mỗi lần lưu (commit) đều ghi lại ai thay đổi gì, khi nào và vì sao.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quay lại an toàn:\u003C\u002Fstrong> có thể khôi phục về bất kỳ thời điểm nào trước đó.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Làm việc song song:\u003C\u002Fstrong> mỗi người làm trên một nhánh (branch) riêng rồi gộp lại.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Phân tán:\u003C\u002Fstrong> mỗi máy có bản sao đầy đủ lịch sử, không phụ thuộc hoàn toàn vào một máy chủ.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Hầu hết công ty phần mềm dùng Git, nên đây là kỹ năng gần như bắt buộc khi đi làm.\u003C\u002Fp>\n\n\u003Ch2>Git, GitHub và GitLab khác nhau thế nào?\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>\u003C\u002Fth>\u003Cth>Git\u003C\u002Fth>\u003Cth>GitHub\u003C\u002Fth>\u003Cth>GitLab\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>Bản chất\u003C\u002Ftd>\u003Ctd>Phần mềm quản lý phiên bản, chạy trên máy bạn\u003C\u002Ftd>\u003Ctd>Dịch vụ lưu trữ kho Git trên web\u003C\u002Ftd>\u003Ctd>Dịch vụ lưu trữ kho Git, có thể tự cài trên server riêng\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Cần internet\u003C\u002Ftd>\u003Ctd>Không\u003C\u002Ftd>\u003Ctd>Có\u003C\u002Ftd>\u003Ctd>Có (hoặc mạng nội bộ nếu tự host)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Tính năng nổi bật\u003C\u002Ftd>\u003Ctd>commit, branch, merge\u003C\u002Ftd>\u003Ctd>Pull request, Actions, cộng đồng mã nguồn mở lớn\u003C\u002Ftd>\u003Ctd>Merge request, CI\u002FCD tích hợp sâu, tự host\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>Nói ngắn gọn: Git là công cụ, còn GitHub và GitLab là nơi lưu trữ và cộng tác dựa trên Git.\u003C\u002Fp>\n\n\u003Ch2>Cài đặt và cấu hình Git\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Tải Git tại git-scm.com (Windows) hoặc cài qua trình quản lý gói (macOS: Homebrew, Linux: apt\u002Fdnf).\u003C\u002Fli>\n\u003Cli>Kiểm tra: \u003Ccode>git --version\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Cấu hình tên và email (sẽ xuất hiện trong mỗi commit):\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>git config --global user.name \"Tên Của Bạn\"\ngit config --global user.email \"email@example.com\"\ngit config --global init.defaultBranch main\u003C\u002Fcode>\u003C\u002Fpre>\n\n\u003Ch2>Ba vùng làm việc của Git\u003C\u002Fh2>\n\u003Cp>Hiểu ba vùng này giúp bạn không bị rối khi dùng lệnh:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Working directory:\u003C\u002Fstrong> thư mục bạn đang sửa file.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Staging area:\u003C\u002Fstrong> nơi tập hợp những thay đổi bạn muốn đưa vào commit tiếp theo (\u003Ccode>git add\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Repository:\u003C\u002Fstrong> lịch sử commit đã lưu (\u003Ccode>git commit\u003C\u002Fcode>).\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2>Các lệnh Git cơ bản\u003C\u002Fh2>\n\u003Cpre>\u003Ccode>git init                      # tạo kho Git mới\ngit status                    # xem trạng thái file\ngit add index.html            # đưa file vào staging\ngit add .                     # đưa tất cả thay đổi\ngit commit -m \"Thêm trang chủ\" # lưu commit\ngit log --oneline             # xem lịch sử\ngit diff                      # xem thay đổi chưa staging\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Viết commit message ngắn, rõ ràng, mô tả \u003Cem>đã làm gì\u003C\u002Fem>: “Sửa lỗi đăng nhập khi mật khẩu trống” tốt hơn nhiều so với “fix”.\u003C\u002Fp>\n\u003Ch3>File .gitignore\u003C\u002Fh3>\n\u003Cp>Tạo file \u003Ccode>.gitignore\u003C\u002Fcode> để Git bỏ qua những thứ không nên đưa lên kho như \u003Ccode>node_modules\u002F\u003C\u002Fcode>, \u003Ccode>.env\u003C\u002Fcode>, file build. Đặc biệt không bao giờ commit mật khẩu hay API key.\u003C\u002Fp>\n\n\u003Ch2>Làm việc với branch\u003C\u002Fh2>\n\u003Cp>Branch cho phép phát triển tính năng mới mà không ảnh hưởng nhánh chính.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>git switch -c tinh-nang-dang-nhap   # tạo và chuyển sang nhánh mới\n# ... sửa code, commit ...\ngit switch main\ngit merge tinh-nang-dang-nhap\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Xử lý conflict\u003C\u002Fh3>\n\u003Cp>Conflict xảy ra khi hai nhánh cùng sửa một đoạn code. Git sẽ đánh dấu đoạn xung đột bằng các ký hiệu \u003Ccode>&lt;&lt;&lt;&lt;&lt;&lt;&lt;\u003C\u002Fcode>, \u003Ccode>=======\u003C\u002Fcode>, \u003Ccode>&gt;&gt;&gt;&gt;&gt;&gt;&gt;\u003C\u002Fcode>. Bạn chỉ cần chọn giữ đoạn nào (hoặc kết hợp), xoá ký hiệu, sau đó \u003Ccode>git add\u003C\u002Fcode> và \u003Ccode>git commit\u003C\u002Fcode>. Conflict là chuyện bình thường, không phải lỗi nghiêm trọng.\u003C\u002Fp>\n\u003Ch3>Merge và rebase\u003C\u002Fh3>\n\u003Cp>\u003Ccode>git merge\u003C\u002Fcode> giữ nguyên lịch sử của cả hai nhánh và tạo commit gộp. \u003Ccode>git rebase\u003C\u002Fcode> “đặt lại” các commit của nhánh bạn lên trên nhánh mới nhất, cho lịch sử thẳng hàng hơn. Nguyên tắc an toàn: không rebase những nhánh đã chia sẻ với người khác.\u003C\u002Fp>\n\n\u003Ch2>Đưa code lên GitHub\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Tạo tài khoản GitHub và tạo repository mới.\u003C\u002Fli>\n\u003Cli>Kết nối kho trên máy với GitHub và đẩy code lên:\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>git remote add origin https:\u002F\u002Fgithub.com\u002Ften-ban\u002Fdu-an.git\ngit push -u origin main\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Các lệnh đồng bộ thường dùng: \u003Ccode>git pull\u003C\u002Fcode> (lấy thay đổi mới về), \u003Ccode>git fetch\u003C\u002Fcode> (chỉ tải về, chưa gộp), \u003Ccode>git clone\u003C\u002Fcode> (sao chép kho có sẵn về máy).\u003C\u002Fp>\n\n\u003Ch2>Quy trình pull request khi làm việc nhóm\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Cập nhật nhánh chính: \u003Ccode>git switch main &amp;&amp; git pull\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Tạo nhánh mới cho tính năng hoặc sửa lỗi.\u003C\u002Fli>\n\u003Cli>Commit nhỏ, thường xuyên, message rõ ràng.\u003C\u002Fli>\n\u003Cli>Push nhánh lên GitHub và tạo pull request (GitLab gọi là merge request).\u003C\u002Fli>\n\u003Cli>Đồng đội review, góp ý; bạn sửa và push tiếp.\u003C\u002Fli>\n\u003Cli>Khi được duyệt và CI chạy qua, gộp vào nhánh chính.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Quy trình này giúp code luôn được kiểm tra trước khi vào sản phẩm và là kỹ năng nhà tuyển dụng thường hỏi.\u003C\u002Fp>\n\n\u003Ch2>Lỗi thường gặp và cách xử lý\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>Tình huống\u003C\u002Fth>\u003Cth>Cách xử lý\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>Commit nhầm message\u003C\u002Ftd>\u003Ctd>\u003Ccode>git commit --amend\u003C\u002Fcode> (khi chưa push)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Muốn bỏ thay đổi một file chưa commit\u003C\u002Ftd>\u003Ctd>\u003Ccode>git restore &lt;file&gt;\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Đưa nhầm file vào staging\u003C\u002Ftd>\u003Ctd>\u003Ccode>git restore --staged &lt;file&gt;\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Muốn hoàn tác một commit đã push\u003C\u002Ftd>\u003Ctd>\u003Ccode>git revert &lt;mã commit&gt;\u003C\u002Fcode> (tạo commit đảo ngược, an toàn)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Cần tạm cất thay đổi để chuyển nhánh\u003C\u002Ftd>\u003Ctd>\u003Ccode>git stash\u003C\u002Fcode>, sau đó \u003Ccode>git stash pop\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>Hãy cẩn thận với \u003Ccode>git reset --hard\u003C\u002Fcode> và \u003Ccode>git push --force\u003C\u002Fcode> vì chúng có thể làm mất code.\u003C\u002Fp>\n\n\u003Ch2>GitHub còn dùng để làm gì?\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Portfolio:\u003C\u002Fstrong> nhà tuyển dụng thường xem GitHub để đánh giá dự án thực tế của bạn.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub Actions:\u003C\u002Fstrong> tự động chạy test, build và deploy mỗi khi push code, một phần quan trọng trong \u003Ca href=\"\u002Fblog\u002Flo-trinh-hoc-devops\">lộ trình DevOps\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Đóng góp mã nguồn mở:\u003C\u002Fstrong> sửa lỗi tài liệu hoặc code cho dự án bạn dùng là cách học rất tốt.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub Pages:\u003C\u002Fstrong> đăng website tĩnh miễn phí, phù hợp cho dự án HTML\u002FCSS đầu tiên trong \u003Ca href=\"\u002Fblog\u002Flo-trinh-hoc-lap-trinh-web-cho-nguoi-moi\">lộ trình học lập trình web\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2>Quy ước đặt tên nhánh và commit\u003C\u002Fh2>\n\u003Cp>Khi làm việc nhóm, quy ước giúp lịch sử Git dễ đọc và tự động hoá được nhiều việc. Một số quy ước phổ biến:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Tên nhánh\u003C\u002Fstrong> theo loại công việc: \u003Ccode>feature\u002Fdang-nhap-google\u003C\u002Fcode>, \u003Ccode>fix\u002Floi-thanh-toan\u003C\u002Fcode>, \u003Ccode>chore\u002Fcap-nhat-thu-vien\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conventional Commits:\u003C\u002Fstrong> message bắt đầu bằng loại thay đổi như \u003Ccode>feat:\u003C\u002Fcode>, \u003Ccode>fix:\u003C\u002Fcode>, \u003Ccode>docs:\u003C\u002Fcode>, \u003Ccode>refactor:\u003C\u002Fcode>, \u003Ccode>test:\u003C\u002Fcode>. Ví dụ: \u003Ccode>feat: thêm bộ lọc khoá học theo danh mục\u003C\u002Fcode>. Quy ước này giúp tự sinh changelog và đánh số phiên bản.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Commit nhỏ, có ý nghĩa:\u003C\u002Fstrong> mỗi commit nên làm một việc. Commit “sửa tất cả” rất khó review và khó hoàn tác.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2>Các mô hình làm việc với nhánh\u003C\u002Fh2>\n\u003Cp>Mỗi nhóm có thể chọn một chiến lược phân nhánh phù hợp:\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>Mô hình\u003C\u002Fth>\u003Cth>Cách làm\u003C\u002Fth>\u003Cth>Phù hợp\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>GitHub Flow\u003C\u002Ftd>\u003Ctd>Nhánh \u003Ccode>main\u003C\u002Fcode> luôn deploy được; mỗi tính năng một nhánh, merge qua pull request\u003C\u002Ftd>\u003Ctd>Nhóm nhỏ, deploy liên tục\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Git Flow\u003C\u002Ftd>\u003Ctd>Có thêm nhánh \u003Ccode>develop\u003C\u002Fcode>, \u003Ccode>release\u003C\u002Fcode>, \u003Ccode>hotfix\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Sản phẩm phát hành theo phiên bản\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Trunk-based\u003C\u002Ftd>\u003Ctd>Mọi người merge thường xuyên vào nhánh chính, dùng feature flag để ẩn tính năng chưa xong\u003C\u002Ftd>\u003Ctd>Nhóm có CI\u002FCD và test tự động tốt\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>Người mới nên bắt đầu với GitHub Flow vì đơn giản và đủ dùng cho đa số dự án.\u003C\u002Fp>\n\n\u003Ch2>Bảo mật khi dùng Git và GitHub\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Dùng khoá SSH hoặc token có thời hạn thay vì mật khẩu khi kết nối với GitHub.\u003C\u002Fli>\n\u003Cli>Bật xác thực hai lớp (2FA) cho tài khoản GitHub.\u003C\u002Fli>\n\u003Cli>Nếu lỡ commit mật khẩu hay API key, hãy \u003Cstrong>thu hồi và tạo khoá mới ngay\u003C\u002Fstrong>; xoá khỏi lịch sử Git là chưa đủ vì người khác có thể đã sao chép.\u003C\u002Fli>\n\u003Cli>Bật bảo vệ nhánh chính (branch protection): bắt buộc pull request và review trước khi merge.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2>Câu hỏi thường gặp\u003C\u002Fh2>\n\u003Ch3>Git có khó học không?\u003C\u002Fh3>\n\u003Cp>Các lệnh cơ bản (add, commit, push, pull, branch) có thể học trong vài buổi. Phần khó hơn như rebase, xử lý conflict phức tạp sẽ quen dần khi làm dự án thật.\u003C\u002Fp>\n\u003Ch3>Nên dùng Git bằng dòng lệnh hay giao diện?\u003C\u002Fh3>\n\u003Cp>Nên học dòng lệnh trước để hiểu bản chất, sau đó có thể dùng giao diện trong VS Code hoặc các ứng dụng Git GUI cho tiện.\u003C\u002Fp>\n\u003Ch3>GitHub có miễn phí không?\u003C\u002Fh3>\n\u003Cp>GitHub có gói miễn phí cho phép tạo kho công khai và riêng tư; các gói trả phí bổ sung tính năng cho nhóm và doanh nghiệp. Chi tiết xem trên trang giá chính thức.\u003C\u002Fp>\n\u003Ch3>Không phải lập trình viên có dùng Git được không?\u003C\u002Fh3>\n\u003Cp>Được. Git quản lý tốt mọi file văn bản như tài liệu Markdown, cấu hình, nội dung website.\u003C\u002Fp>\n\n\u003Ch2>Kết luận\u003C\u002Fh2>\n\u003Cp>Git giúp bạn quản lý mã nguồn an toàn, còn GitHub và GitLab giúp cộng tác và chia sẻ. Hãy dùng Git ngay từ dự án đầu tiên, kể cả khi làm một mình. Để học sâu về branch, rebase, xử lý conflict và quy trình làm việc nhóm, tham khảo \u003Ca href=\"\u002Fkhoa-hoc\u002Fkhoa-hoc-git-github-gitlab\">khoá học Git, GitHub, GitLab\u003C\u002Fa> của MelyDemy.\u003C\u002Fp>\n",{"description":286,"keywords":293},[294,295,296,297,298],"Git","GitHub","Hướng","dẫn","cho",{"fullname":300,"avatar":11,"position":301,"quote":11},"Mely Demy","Editor",{"url":11,"alt":285},[304,312,320,328,336,344],{"id":305,"slug":306,"title":307,"excerpt":308,"createdAt":309,"updatedAt":309,"category":310,"thumbnail":311},"9aa1bf78-82ec-4bf0-b0ff-7b0a7bf4b22a","hoc-ai-bat-dau-tu-dau","Học AI bắt đầu từ đâu? Lộ trình cho dev và người mới","Lộ trình học AI: dùng công cụ AI, Python, toán nền, machine learning, deep learning, LLM và AI agent.","2026-11-03T15:09:31",{"name":75,"slug":289,"description":11},{"url":11,"alt":307},{"id":313,"slug":314,"title":315,"excerpt":316,"createdAt":317,"updatedAt":317,"category":318,"thumbnail":319},"f3ad15b5-1753-46e0-ab87-ab9f767c8030","chung-chi-aws-nen-thi-cai-nao","Chứng chỉ AWS nên thi cái nào? Lộ trình từ cơ bản","So sánh Cloud Practitioner, Solutions Architect Associate\u002FProfessional, Developer Associate; lộ trình và cách ôn.","2026-11-03T15:09:08",{"name":75,"slug":289,"description":11},{"url":11,"alt":315},{"id":321,"slug":322,"title":323,"excerpt":324,"createdAt":325,"updatedAt":325,"category":326,"thumbnail":327},"d7e50156-ec43-4afc-b097-1979e02e8d8a","typescript-la-gi","TypeScript là gì? Vì sao dev JavaScript nên học","TypeScript là gì, khác JavaScript thế nào, kiểu dữ liệu, interface, generic và cách dùng với React.","2026-11-03T15:08:43",{"name":75,"slug":289,"description":11},{"url":11,"alt":323},{"id":329,"slug":330,"title":331,"excerpt":332,"createdAt":333,"updatedAt":333,"category":334,"thumbnail":335},"f6d8e6c9-7289-4c91-a5f5-f5f66c9bc5dc","kubernetes-la-gi","Kubernetes là gì? Pod, Node, Service giải thích dễ hiểu","Kubernetes (K8s) là gì, khi nào cần, các khái niệm pod, node, deployment, service và so với Docker.","2026-11-03T15:08:20",{"name":75,"slug":289,"description":11},{"url":11,"alt":331},{"id":337,"slug":338,"title":339,"excerpt":340,"createdAt":341,"updatedAt":341,"category":342,"thumbnail":343},"59f770d8-1fad-4707-99e0-780fc7b997e1","lo-trinh-hoc-devops","Lộ trình học DevOps bắt đầu từ đâu cho người mới","DevOps bắt đầu từ đâu: Linux, Git, Docker, CI\u002FCD, Kubernetes, cloud AWS và giám sát với Grafana.","2026-11-03T15:07:57",{"name":75,"slug":289,"description":11},{"url":11,"alt":339},{"id":345,"slug":346,"title":347,"excerpt":348,"createdAt":349,"updatedAt":349,"category":350,"thumbnail":351},"94151f16-08e8-47d6-95f1-599aeceaec4c","hoc-sql-co-ban","Học SQL cơ bản: SELECT, JOIN, GROUP BY kèm ví dụ","SQL cơ bản cho người mới: truy vấn, lọc, JOIN, GROUP BY, index và bài tập với MySQL.","2026-11-03T15:07:33",{"name":75,"slug":289,"description":11},{"url":11,"alt":347},[353,356,359,362,365,368],{"id":305,"slug":306,"title":307,"excerpt":308,"createdAt":309,"updatedAt":309,"category":354,"thumbnail":355},{"name":75,"slug":289,"description":11},{"url":11,"alt":307},{"id":313,"slug":314,"title":315,"excerpt":316,"createdAt":317,"updatedAt":317,"category":357,"thumbnail":358},{"name":75,"slug":289,"description":11},{"url":11,"alt":315},{"id":321,"slug":322,"title":323,"excerpt":324,"createdAt":325,"updatedAt":325,"category":360,"thumbnail":361},{"name":75,"slug":289,"description":11},{"url":11,"alt":323},{"id":329,"slug":330,"title":331,"excerpt":332,"createdAt":333,"updatedAt":333,"category":363,"thumbnail":364},{"name":75,"slug":289,"description":11},{"url":11,"alt":331},{"id":337,"slug":338,"title":339,"excerpt":340,"createdAt":341,"updatedAt":341,"category":366,"thumbnail":367},{"name":75,"slug":289,"description":11},{"url":11,"alt":339},{"id":345,"slug":346,"title":347,"excerpt":348,"createdAt":349,"updatedAt":349,"category":369,"thumbnail":370},{"name":75,"slug":289,"description":11},{"url":11,"alt":347}]