inflearn logo

Chinh phục hoàn toàn Git cùng Git-mi-nam

Hiểu rõ cấu trúc bên trong và nguyên lý cốt lõi của Git, đồng thời học các khái niệm thiết yếu trong thực tế như Reset, Revert, Merge, Rebase, giải quyết xung đột và Reflog. Khóa học mang lại nền tảng vững chắc và sự tự tin để giải quyết mọi tình huống bất ngờ cho những ai đã sử dụng Git lâu năm nhưng vẫn chưa thực sự tự tin.

4 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

Git
Git
GitHub
GitHub
Version Control System
Version Control System
github-actions
github-actions
collaboration
collaboration
Git
Git
GitHub
GitHub
Version Control System
Version Control System
github-actions
github-actions
collaboration
collaboration

Bạn sẽ nhận được điều này sau khi học.

  • Bạn có thể hiểu được phương thức lưu trữ dữ liệu của Git và nắm bắt rõ ràng nguyên lý hoạt động bên trong của nó.

  • Bạn có thể tìm hiểu cách hoàn tác các thay đổi bằng Reset và Revert.

  • Bạn có thể hiểu được định nghĩa và cấu trúc bên trong của nhánh (branch).

  • Bạn có thể nắm bắt được các loại Merge và nguyên lý hoạt động của chúng.

  • Bạn có thể duy trì lịch sử commit sạch sẽ bằng cách nắm vững nguyên lý và cách sử dụng Rebase.

  • Bạn có thể tìm hiểu về nguyên nhân gây ra xung đột và cách giải quyết chúng.

  • Bạn có thể hiểu về các loại chiến lược quản lý nhánh và phương pháp đại diện là GitFlow.

  • Bằng cách học cách sử dụng Reflog, bạn có thể dễ dàng khôi phục cả những commit đã vô tình xóa mất.

Bạn đang sử dụng Git một cách tự tin? Hay vẫn còn thường xuyên cảm thấy lo lắng?

Bạn đã sử dụng Git lâu rồi nhưng mỗi khi gặp vấn đề vẫn phải bắt đầu bằng việc tìm kiếm sao?

Có rất nhiều người bình thường không gặp vấn đề gì khi sử dụng Git, nhưng lại cảm thấy thiếu tự tin khi xảy ra xung đột hoặc khi cần phải hoàn tác các commit sai. Dù bạn có sử dụng Git lâu đến đâu hay biết nhiều câu lệnh thế nào đi chăng nữa, nếu không hiểu rõ cấu trúc bên trong của Git, bạn sẽ khó có thể vận dụng Git một cách tự tin.

Khóa học này tập trung vào cách Git lưu trữ và quản lý dữ liệu, giải thích các nguyên lý hoạt động bên trong của Git và giúp bạn xây dựng nền tảng vững chắc nhất. Đây là khóa học giúp bạn học tập một cách hệ thống các khái niệm cốt lõi của Git nhất định phải biết trong thực tế, từ Reset, Revert, Merge, Rebase, giải quyết xung đột, GitFlow cho đến Reflog.

Git sẽ rất dễ dàng nếu bạn hiểu được những điểm cốt lõi. Hãy làm chủ Git với khóa học này.

💡Trong khóa học này, chúng ta sẽ tìm hiểu các nội dung sau đây.

  • Khám phá cấu trúc bên trong của Git


    Hiểu cách Git lưu trữ và quản lý dữ liệu, đồng thời học hỏi các nguyên lý cốt lõi và cách thức hoạt động bên trong của Git.

  • Hoàn tác các thay đổi


    Tìm hiểu sự khác biệt giữa Reset và Revert cũng như cách sử dụng đúng đắn để học cách hoàn tác các thay đổi phù hợp với từng tình huống.

  • Merge và Rebase


    Hiểu nguyên lý và sự khác biệt giữa hai phương pháp hợp nhất nhánh, đồng thời nắm vững cách áp dụng phù hợp trong thực tế.

  • Xử lý xung đột


    Tìm hiểu nguyên nhân gây ra xung đột và học cách giải quyết các xung đột phát sinh khi thực hiện Merge và Rebase.

  • Quản lý nhánh


    Hiểu lý do tại sao cần chiến lược nhánh và GitFlow, đồng thời học phương pháp quản lý nhánh phù hợp cho việc cộng tác.

  • Khôi phục các commit đã mất


    Bạn sẽ học cách sử dụng Reflog để khôi phục các commit đã vô tình bị xóa.


Đặc điểm của khóa học này

  • Khóa học tập trung vào nguyên lý để xây dựng nền tảng vững chắc


    Không chỉ đơn thuần là học cách sử dụng các câu lệnh, khóa học còn giải thích để bạn có thể hiểu được nguyên lý hoạt động bên trong của Git. Khi đã nắm vững nguyên lý, bạn sẽ có được nền tảng cơ bản vững chắc để có thể tự mình giải quyết vấn đề trong bất kỳ tình huống bất ngờ nào.

  • Nội dung đã được kiểm chứng, đúc kết từ nguồn tài liệu tham khảo đồ sộ
    Dựa trên hơn 20 cuốn sách về Git, các bài giảng của người sáng lập Git Linus Torvalds, tài liệu của Scott Chacon - đồng tác giả cuốn 『Pro Git』, cùng các tài liệu hướng dẫn chính thức của Git và Stack Overflow, chúng tôi đã tổng hợp những nội dung cốt lõi một cách dễ hiểu và chính xác nhất.

  • Thấu hiểu trực quan thông qua các tài liệu hình ảnh
    Cấu trúc bên trong của Git vốn tạo cảm giác trừu tượng, phức tạp và nguyên lý hoạt động của các lệnh Git đa dạng đã được thể hiện qua các tài liệu hình ảnh dựa trên đồ thị, giúp người học có thể quan sát bằng mắt và thấu hiểu một cách dễ dàng, trực quan.

Dành cho những đối tượng sau

Những người đã sử dụng Git lâu năm nhưng vẫn còn thấy bối rối và thiếu tự tin

Bằng việc thấu hiểu nguyên lý nội tại và các khái niệm cốt lõi của Git, bạn có thể xây dựng nền tảng vững chắc và tự tin sử dụng Git trong bất kỳ tình huống nào.

Những người cảm thấy lúng túng khi xảy ra xung đột
Bạn có thể bình tĩnh giải quyết mọi tình huống xung đột bằng cách hiểu rõ nguyên lý tại sao chúng xảy ra.

Những người lo sợ các tính năng như Reset, Rebase, Reflog
Bạn có thể tự tin sử dụng các tính năng mà mình từng ngần ngại vì sợ mắc lỗi, thông qua việc học hỏi một cách hệ thống từ nguyên lý đến thực hành.

💡Những ai cần khóa học này

  • Những người hàng ngày chỉ sử dụng commit, push, pull một cách máy móc và cảm thấy sợ hãi mỗi khi có tình huống bất ngờ như xung đột (conflict) xảy ra

  • Những người muốn hiểu sâu về nguyên lý hoạt động nội bộ của Git nhưng chưa biết phải bắt đầu học từ đâu


  • Những người chưa hiểu rõ sự khác biệt giữa Merge và Rebase nên chỉ đang sử dụng Merge vốn đã quen thuộc


  • Những người muốn học cách hoàn tác các thay đổi sai lầm một cách an toàn hoặc khôi phục các commit đã bị mất


  • Những người đã sử dụng Git trong thời gian dài nhưng vẫn cảm thấy mơ hồ về chiến lược cộng tác nhánh trong thực tế


  • Những người luôn cẩn trọng khi sử dụng Git vì sợ vô tình làm mất mã nguồn hoặc làm rối loạn lịch sử của dự án nhóm

Bảng tự chẩn đoán

Hãy xem các mục dưới đây và kiểm tra xem bạn có thể tự tin trả lời "Yes" ngay bây giờ không nhé.
Càng có nhiều câu trả lời "No", nghĩa là khóa học này càng có nhiều nội dung có thể lấp đầy khoảng trống cho bạn.

  • Tôi hiểu cách Git lưu trữ và quản lý dữ liệu. (Yes / No)

  • Hiểu rõ mã băm commit (SHA-1) được tạo ra như thế nào và đóng vai trò gì. (Yes/No)


  • Có thể giải thích sự khác biệt giữa Reset và Revert cũng như thời điểm sử dụng của từng loại. (Yes / No)


  • Tôi hiểu nhánh (branch) là gì và nó được triển khai nội bộ như thế nào. (Yes / No)


  • Có thể giải thích các loại Merge và nguyên lý hoạt động của chúng. (Yes / No)


  • Có thể giải thích nguyên lý và cách sử dụng Rebase. (Yes / No)


  • Có thể giải thích sự khác biệt giữa Merge và Rebase cũng như các tình huống nên sử dụng từng loại. (Yes / No)


  • Biết các lưu ý cần thiết khi sử dụng Rebase. (Yes / No)


  • Có thể giải thích nguyên nhân xảy ra xung đột và cách giải quyết. (Yes / No)


  • Có thể giải thích khái niệm GitFlow và vai trò của từng nhánh. (Yes / No)


  • Có thể sử dụng Reflog để khôi phục các commit đã bị xóa nhầm. (Yes / No)


  • Dựa trên nguyên lý của Git, có thể tự mình phán đoán phương pháp giải quyết ngay cả trong những tình huống phát sinh vấn đề ngoài dự kiến. (Yes / No)

Sau khi hoàn thành khóa học, bạn có thể

  • Bạn có thể phát triển thành một nhà phát triển sử dụng Git thành thạo nhất trong tổ chức.


    Trong suốt 15 năm làm việc tại nhiều doanh nghiệp và hợp tác với nhiều nhà phát triển khác nhau, tôi nhận thấy số lượng lập trình viên thực sự hiểu sâu về nguyên lý nội tại và vận dụng tốt Git không nhiều như mong đợi. Ngay cả khi tôi làm việc tại các tập đoàn lớn, mọi người vẫn thường tìm đến tôi mỗi khi cần đưa ra những quyết định quan trọng như giải quyết các vấn đề liên quan đến Git hay chiến lược quản lý nhánh (branch). Khóa học này sẽ giúp bạn thấu hiểu tường tận nguyên lý của Git, từ đó có thể tự tin sử dụng và trở thành một nhà phát triển đáng tin cậy trong tổ chức.

  • Trở thành lập trình viên hiểu và sử dụng thành thạo Git
    Bạn có thể tự tin sử dụng Git mà không còn phụ thuộc hoàn toàn vào việc tìm kiếm nữa. Thay vì chỉ ghi nhớ các câu lệnh một cách máy móc, bạn sẽ hiểu cách thức hoạt động của Git và có thể vận dụng linh hoạt tùy theo từng tình huống.

  • Bạn sẽ có thể tự mình giải quyết mọi vấn đề phát sinh mà không hề lúng túng.
    Nỗi sợ hãi về những sai lầm trong Git sẽ biến mất. Bạn có thể tự mình khôi phục các commit sai, các nhánh đã xóa hay lịch sử bị xáo trộn bằng cách sử dụng Reset, Revert, Reflog, v.v.

  • Trở thành một nhà phát triển đáng tin cậy trong quá trình cộng tác.
    Bằng cách sử dụng Merge và Rebase phù hợp với từng tình huống, tự tin giải quyết xung đột, quản lý nhánh một cách có hệ thống và duy trì lịch sử commit sạch sẽ, bạn sẽ trở thành một nhà phát triển được đồng nghiệp tin tưởng.

  • Git sẽ không còn là trở ngại trong quá trình phát triển mà trở thành một công cụ tăng năng suất.
    Bạn sẽ giảm bớt thời gian dành cho việc giải quyết các vấn đề về Git, đồng thời có thể phát triển hiệu quả và ổn định hơn bằng cách tận dụng Git.

Chi tiết chương trình học

Khám phá cấu trúc bên trong của Git

  • Mô hình Delta và mô hình Snapshot


  • Cấu trúc kho lưu trữ và lịch sử commit


  • Bốn loại đối tượng của Git

Hoàn tác thay đổi

  • Cấu trúc kho lưu trữ Git


  • Cách sử dụng các lệnh để hoàn tác thay đổi


  • Thời điểm sử dụng của từng lệnh

Hợp nhất nhánh - Merge

  • Định nghĩa về nhánh (Branch)


  • Vai trò của HEAD


  • Các loại Merge và cách hoạt động


Hợp nhất nhánh - Rebase

  • Hash của commit là gì và nó được tạo ra như thế nào?

  • Rebase là gì và sử dụng như thế nào?

  • Interactive rebase là gì và cách sử dụng nó như thế nào?

Xử lý xung đột

  • Lý do xảy ra xung đột


  • Cách giải quyết xung đột


  • Thực hành phương pháp giải quyết xung đột khi xảy ra trong quá trình Merge hoặc Rebase

Quản lý nhánh

  • Các loại chiến lược nhánh


  • GitFlow

Khôi phục commit đã mất

  • Reflog là gì?


  • Khôi phục các commit vô tình bị mất bằng cách sử dụng Reflog


Người tạo ra bài giảng này - Gitminam (Người đàn ông cuồng Git)

💡Hành trình từ một nhà phát triển ứng dụng trở thành giảng viên Git

Lần đầu tiên tôi biết đến Git là vào năm 2015. Kể từ đó, tôi đã sử dụng Git một cách đều đặn, nhưng đến năm 2019, tôi nảy sinh ý định muốn tìm hiểu sâu hơn về nó. Vào thời điểm đó, dù đã sử dụng Git được 4-5 năm nhưng tôi chỉ biết các câu lệnh thường dùng trong thực tế mà chưa hiểu rõ cấu trúc và nguyên lý tổng thể của Git. Bình thường thì không sao, nhưng khi phát sinh những vấn đề ngoài dự kiến, tôi lại lặp đi lặp lại tình trạng không thể tự tin giải quyết được. Cảm thấy xấu hổ trước tình trạng lặp lại này, tôi đã quyết tâm học Git một cách bài bản.

Sau khi quyết định học về Git, tôi đã tìm kiếm nhiều cuốn sách khác nhau nhưng vẫn không thấy cuốn nào ưng ý. Cuốn sách mà tôi mong muốn không chỉ đơn thuần là giải thích các câu lệnh, mà phải là một cuốn sách giải thích các khái niệm cốt lõi của Git một cách dễ hiểu và súc tích.

Tôi nghĩ rằng chắc hẳn cũng có những người có cùng nhu cầu như mình, nên tôi đã quyết định tự mình chấp bút viết một cuốn sách như vậy. Để giải thích các khái niệm cốt lõi của Git một cách dễ hiểu, tôi đã tham khảo rất nhiều tài liệu đa dạng. Các tài liệu tham khảo bao gồm video giới thiệu về Git của Linus Torvalds tại Google Tech Talk năm 2007, các bài giảng và sách của Scott Chacon - người đồng sáng lập GitHub và là đồng tác giả của cuốn "Pro Git", hơn 20 cuốn sách và slide bài giảng về Git, các hướng dẫn sử dụng đi kèm trong mã nguồn phát triển Git, Stack Overflow, v.v. Mỗi khi gặp phần khó hiểu, tôi đều nghiên cứu kỹ lưỡng để nắm vững, rồi trăn trở làm thế nào để truyền đạt những điều đó một cách dễ hiểu nhất.

Kết quả của những nỗ lực này là tôi đã xuất bản cuốn sách mang tên "Git with SourceTree của Tommy". Sau đó, tôi đã hợp tác với Hackers HRD để sản xuất các bài giảng Git trực tuyến. Thông qua trải nghiệm này, tôi đã có tầm nhìn giúp mọi người sử dụng Git dễ dàng hơn, và sau khi nghỉ việc, tôi đã sản xuất các bài giảng Git trên Udemy. Hiện tại, tôi đang hoạt động với tư cách là một giảng viên chuyên về Git.

Lưu ý trước khi khóa học bắt đầu

Môi trường thực hành

  • Tất cả các bài thực hành đều được tiến hành trong môi trường terminal của VSCode/Mac. Bạn có thể làm theo bằng cách sử dụng terminal mặc định trên macOS đã cài đặt Git.

  • Người dùng Windows hoặc VSCode cũng có thể thực hành được.

  • Trên Windows, bạn có thể thực hành tương tự bằng Git Bash hoặc WSL, còn người dùng VSCode có thể sử dụng terminal tích hợp.

Tài liệu học tập

  • Chúng tôi cung cấp thông qua liên kết Notion!

Kiến thức tiên quyết và lưu ý

  • Có kinh nghiệm sử dụng các lệnh như git add, git commit, git push, git pull trong môi trường CLI

  • Đối tượng hướng đến là những nhà phát triển đã có kinh nghiệm sử dụng Git thay vì những người mới bắt đầu.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người đang sử dụng Git nhưng muốn hiểu rõ nguyên lý hoạt động của nó

  • Những ai muốn tự tin sử dụng Merge và Rebase phù hợp với từng tình huống

  • Những người muốn hiểu tại sao xung đột xảy ra và có kỹ năng để tự mình giải quyết chúng.

  • Nhà phát triển muốn hiểu cấu trúc bên trong của Git để sử dụng Git một cách chuyên sâu hơn

  • Dành cho những ai muốn học cách khôi phục các commit đã lỡ tay xóa mất

Cần biết trước khi bắt đầu?

  • Có kinh nghiệm sử dụng các lệnh như git add, git commit, git push, git pull trong môi trường CLI

  • Đối tượng hướng đến là những nhà phát triển đã có kinh nghiệm sử dụng Git thay vì những người mới bắt đầu.

Xin chào
Đây là gitminam

Xác minh sự nghiệp

246

Học viên

22

Đánh giá

2

Trả lời

4.9

Xếp hạng

3

Các khóa học

Thêm

Chương trình giảng dạy

Tất cả

70 bài giảng ∙ (3giờ 34phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn, kết thúc sau 3 ngày ngày

46 ₫

25%

1.669.539 ₫