inflearn logo

Git & GitHub, từng bước từ những nguyên lý cơ bản - Git nền tảng

Đừng học thuộc lệnh, hãy hiểu nguyên lý. Rèn khả năng đọc hiểu các lệnh git do AI đưa ra và tự khôi phục lịch sử bị rối.

(5.0) 129 đánh giá

904 học viên

Độ khó Nhập môn

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

Git
Git
GitHub
GitHub
Git
Git
GitHub
GitHub

Đánh giá từ những học viên đầu tiên

5.0

5.0

juhylee

98% đã tham gia

Thật điên rồ. Thật tuyệt vời. Không thể rõ ràng hơn thế nữa.

5.0

shinyeoneui

35% đã tham gia

Tôi đã mua và học một số bài giảng về Git trên Infrun, nhưng càng học thì tôi càng không hiểu nên tôi đã mua lại bài giảng này. Thật xấu hổ nhưng cho đến nay tôi chỉ nhập git add và git commit một cách máy móc mà không biết tại sao lại cần những quá trình đó. Tuy nhiên, thông qua bài giảng này, tôi đã hiểu được nguyên lý của Git. Bài giảng này đã giúp ích rất nhiều cho tôi. Cảm ơn bạn.

5.0

Seunggu Kang

100% đã tham gia

진짜 취업 전 필수 강의입니다. 실무에 도움이 될 만한 것들 다 다룹니다. 직관적인 그림 설명 때문에 강의 신청했지만, 그보다 앞서 핵심적이고 기본적인 내용이지만 잘 다뤄지지 않던 내용들이 깃을 이해하는데 가장 큰 도움이 되었습니다.

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

  • Tìm hiểu các lệnh Git cơ bản và nguyên lý hoạt động qua hình minh họa.

  • Hiểu vì sao xảy ra xung đột và bình tĩnh giải quyết.

  • Hiểu cách reset, revert và rebase thay đổi lịch sử, rồi tự mình khôi phục những tình huống rối rắm.

  • Học cách cộng tác thành thạo với đồng nghiệp bằng GitHub (깃헙).

  • Hãy học một cách bài bản không chỉ cách cộng tác bằng Git flow mà còn cả lý do vì sao nó cần thiết.

Tìm hiểu từng bước từ nguyên lý


Dù AI có thể nhập lệnh giúp bạn, nhưng bạn vẫn phải tự mình hiểu chúng.

Git vs GitHub❓

💻 Git

Git (깃) là chương trình giúp quản lý phiên bản mã nguồn. Giống như tạo điểm SAVE trong game, bạn có thể dùng Git để tạo điểm SAVE cho mã nguồn và quay lại thời điểm mong muốn. Không chỉ vậy, Git còn giúp nhiều đồng nghiệp cùng làm việc trên một dự án nhờ tính năng mạnh mẽ mang tên “branch”.

🌐 GitHub

Trước tiên, cần làm rõ rằng Git và GitHub là hai khái niệm hoàn toàn khác nhau. Cũng như bóng chày khác bóng đá, Git và GitHub cũng khác nhau. Git là công cụ quản lý phiên bản, còn GitHub là nơi lưu trữ các phiên bản đó. Vì vậy, GitHub thường được ví như Google Drive hoặc Dropbox.

Trong thời đại AI chạy git thay bạn, tại sao vẫn cần hiểu nguyên lý?

Ngày nay, AI làm thay cả commit, tạo branch và xử lý xung đột. Khi gặp lỗi, chúng ta hỏi AI thay vì tìm trên blog. Nhưng có thể cứ thế thực hiện reset --hard, push --force, rebase mà AI đề xuất không?


Nếu không biết lệnh đó sẽ làm gì với lịch sử của mình, bạn sẽ phó mặc việc phán đoán cho AI và chỉ phải gánh chịu hậu quả. Git căn bản không phải là khóa học bắt bạn học thuộc lệnh, mà là khóa học minh họa bằng hình ảnh những gì diễn ra bên trong git. Khi hiểu nguyên lý, bạn có thể đánh giá câu trả lời của AI và tự khôi phục khi mọi chuyện rối tung.

Cấu trúc khóa học

📌 Phần 1: Tìm hiểu những kiến thức cơ bản về Git và GitHub
Hãy nắm vững các khái niệm cơ bản về Git và GitHub, đồng thời tìm hiểu nguyên lý Git quản lý phiên bản.

💻 Phần 2: Cài đặt và cấu hình Git
Học cách cài đặt Git và thiết lập môi trường cơ bản để hoàn tất việc chuẩn bị sử dụng Git.

📝 Phần 3: Các lệnh cơ bản và quản lý trạng thái
Học các lệnh chính để tạo phiên bản và tìm hiểu sâu về những gì diễn ra bên trong Git (Git).

📂 Mục 4: Trạng thái kho lưu trữ
Git quản lý phiên bản thông qua ba kho lưu trữ. Hãy tìm hiểu các lệnh kiểm tra trạng thái của từng kho lưu trữ và nguyên lý hoạt động của chúng.

🎯 Phần 5: HEAD
Tìm hiểu khái niệm HEAD, cho phép đưa mã nguồn trở về thời điểm mong muốn, đồng thời nắm rõ vị trí tương đối của HEAD và cách thao tác với nó.

🌿 Phần 6: Branch
Tìm hiểu cách cộng tác với đồng nghiệp bằng branch, đồng thời nắm rõ cấu trúc bên trong và cách thao tác thành thạo với branch.

🔗 Phần 7: Merge (Hợp nhất)
Tìm hiểu cách hợp nhất nội dung đã làm trên nhánh khác vào nhánh của mình và cách xử lý lỗi conflict có thể xảy ra trong quá trình merge.

⚠ Mục 8: Những điều cần lưu ý khi làm việc với branch
Branch là một tính năng mạnh mẽ nhưng cũng có thể khá phức tạp. Hãy cùng tìm hiểu cách tránh sai sót và sử dụng branch hiệu quả.

🔄 Phần 9: Rebase
Tìm hiểu tính năng rebase thiết yếu đối với các nhà phát triển nâng cao, cách sắp xếp nhánh và giải quyết xung đột.

⏪ Phần 10: Khôi phục trạng thái trước đó (Reset vs Revert)
Bạn sẽ học sự khác nhau và cách sử dụng các lệnh reset và revert để khôi phục mã về thời điểm mong muốn, đồng thời tìm hiểu chi tiết nguyên lý hoạt động của từng lệnh để có thể lựa chọn phù hợp với từng tình huống.

📤 Phần 11: Tải mã lên và tải mã xuống (GitHub)
Bạn sẽ học cách tải mã lên máy chủ từ xa và tải mã xuống, cũng như nguyên lý của quá trình này, qua đó hiểu sâu hơn về cách GitHub và Git tương tác với nhau.

🤝 Phần 12: Cộng tác (Git Flow)
Bạn sẽ học cách cộng tác hiệu quả với đồng nghiệp thông qua chiến lược Git Flow, một yếu tố cốt lõi trong làm việc nhóm. Phần này tập trung vào những yếu tố quan trọng nhất của việc cộng tác.

🚀 Phần 13: Nâng cao về remote
Tìm hiểu chi tiết các tính năng và nguyên lý liên quan đến remote dành cho nhà phát triển nâng cao, đồng thời học cách quản lý remote nâng cao cần thiết trong thực tế.

📂 Phần 14: Quản lý tệp
Tìm hiểu cách quản lý phiên bản khi xóa hoặc đổi tên tệp. Ngoài ra, bạn sẽ học cách dùng tệp gitignore để loại trừ một số tệp khỏi việc quản lý phiên bản và tìm hiểu nguyên lý hoạt động, từ đó xử lý thành thạo nhiều tình huống lỗi khác nhau.

📝 Phần 15: Thay đổi lịch sử commit
Bạn sẽ học cách thay đổi lịch sử commit để sắp xếp lịch sử phiên bản của dự án gọn gàng, dễ theo dõi. Không chỉ tìm hiểu các phương pháp đơn giản, bạn còn đào sâu nguyên lý thông qua những phép so sánh dễ hiểu.

Đối tượng học viên

Tôi đã biết Git.

Dù đã từng tham gia khóa học Git (Git)ít nhất một lần,

Tôi vẫn còn bối rối.

Người mới bắt đầu với Git.

Học nguyên lý ngay từ đầu,

ngay cả các lệnh do AI đề xuất

Tôi muốn hiểu rõ và sử dụng Git.

❓ Trong vô vàn khóa học Git, Vì sao Khóa học Git Căn bản được tạo ra?

Trong thời gian làm giảng viên lập trình, tôi nhận ra một điều: nhiều học viên chỉ học thuộc các lệnh Git (깃) mà không thực sự hiểu nguyên lý hoạt động của chúng. Vì vậy, họ thường không thể sử dụng Git (깃) một cách hiệu quả và thậm chí không giải quyết nổi cả những lỗi đơn giản. Tôi cảm thấy rất tiếc khi thấy học viên mất hơn 1 tiếng tìm kiếm trên blog để giải quyết vấn đề mà chỉ cần học đúng cách trong 10 phút là có thể xử lý được.


Ngay lúc đó, tôi đã quyết tâm.

"Mình phải dạy cho học sinh hiểu đúng nguyên lý hoạt động của Git!"


Sau nửa năm nghiên cứu, tôi đã phát triển một hình minh họa giúp bạn dễ dàng hiểu nguyên lý hoạt động của Git (Git) chỉ trong 10 phút và dùng nó làm tài liệu giảng dạy.


"Liệu hình minh họa này có thật sự dễ hiểu không?"
"Có thể giải thích đầy đủ mọi trường hợp không?"
"Có thể khắc phục những lỗi mà học viên gặp phải không?"


Tự trả lời những câu hỏi này, tôi đã chỉnh sửa rồi lại chỉnh sửa hình vẽ. Tôi vẽ đi vẽ lại vô số lần, làm ứng dụng ghi chú trên iPad chậm hẳn đi, và cuối cùng đã hoàn thành bản vẽ cuối cùng rõ ràng, dễ hiểu.


Sau đó, khi dùng bức vẽ ấy để dạy Git (깃), phản ứng của học viên thực sự khiến tôi kinh ngạc.


💬 "Tôi đã học các khóa Git nhiều lần, nhưng 1 giờ vừa rồi là lúc tôi học được nhiều nhất!"
💬 "Trong tất cả những lời giải thích về Git tôi từng nghe, đây là phần dễ hiểu nhất. Thật đấy."
💬 "À, giờ thì tôi hiểu rồi!"


Tôi cũng cảm thấy rất vui khi thấy học viên thành thạo Git chỉ sau 1 giờ.


Bạn đã từng học khóa Git nhưng vẫn còn thấy bối rối?
Bạn cảm thấy nản lòng vì khó khắc phục lỗi?
Bạn có đang sao chép và dán các lệnh do AI cung cấp mà không hiểu chúng không?


Vậy thì bạn đã tìm đúng nơi rồi. 👏


Sau khóa học này, git sẽ không còn là câu thần chú bạn phải học thuộc lòng nữa.

Điểm khác biệt của Git căn bản

🚀 Không dạy lệnh, mà dạy nguyên lý

  • Giải thích hầu hết các tình huống xảy ra trong Git bằng một sơ đồ và một nguyên lý duy nhất. Khi hiểu nguyên lý, bạn có thể tự mình diễn giải cả những thông báo lỗi lần đầu gặp.



📚 Từ cơ bản đến cộng tác trong một khóa học

  • Tìm hiểu theo một mạch từ các lệnh cơ bản, branch, rebase, reset/revert đến cộng tác trên GitHub (Git Flow).

🖼 Thực hành dễ dàng làm theo

  • Chúng tôi minh họa kết quả thực thi lệnh bằng hình ảnh, giúp bạn dễ dàng làm theo hơn nhiều!



👁 Học tập dễ dàng và trực quan

  • Vì 90% tài liệu bài giảng là hình ảnh trong khóa Git cơ bản, bạn có thể hình dung cấu trúc Git trong đầu.


📖 Cung cấp tài liệu khóa học 1,700 trang

  • Cung cấp tài liệu PDF dài 1,700 trang, chủ yếu bằng hình minh họa giải thích từng bước cách Git (깃) hoạt động. Tài liệu được sắp xếp theo từng buổi học để bạn có thể nhanh chóng tìm nội dung mình muốn.


💬 Hỏi đáp

  • Nếu có thắc mắc trong quá trình học, hãy để lại câu hỏi tại phần Hỏi đáp của khóa học.

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

✅ có thể giải thích “vì sao” cần add và commit.
✅ Trước conflict, rebase, reset, bạn có thể bình tĩnh nắm bắt tình hình.
✅ có thể tự xem xét các lệnh git do AI đề xuất trước khi thực thi.

Thông tin cần biết trước khi tham gia khóa học

  • Tài liệu học tập của khóa học được cung cấp dưới dạng PDF.

  • Lớp học được tiến hành trên Mac, nhưng người dùng Windows cũng có thể theo học thuận lợi.

  • Khóa học được tiến hành dựa trên CLI (Command Line Interface).

  • Không cần có kiến thức nền tảng trước.

  • Khóa học không hướng dẫn cách sử dụng các công cụ lập trình AI. Dù dùng công cụ nào thì cuối cùng cũng là các lệnh git được thực thi, và khóa học này sẽ giải thích nguyên lý đó.

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

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

  • Dành cho những ai đã từng học git nhưng vẫn thấy git khó hiểu.

  • Người mới bắt đầu muốn học bài bản từ nguyên lý ngay từ đầu, để có thể hiểu và sử dụng cả những lệnh git do AI nhập hộ.

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

  • Không cần kiến thức nền tảng trước đó :)

Xin chào
Đây là geek

904

Học viên

129

Đánh giá

54

Trả lời

5.0

Xếp hạng

1

Khóa học

Tôi bắt đầu bước chân vào lĩnh vực phát triển phần mềm lần đầu tiên trong quá trình cùng bạn bè khởi nghiệp khi còn là sinh viên đại học.

Vào thời điểm đó, vì tự học lập trình một mình nên tôi đã gặp rất nhiều khó khăn.
Tôi không biết phải bắt đầu học từ đâu,
cũng không biết phải học sâu đến mức nào.
Dù vậy, giống như kiểu "đâm đầu vào đá" (?), tôi đã miệt mài chỉ tập trung vào việc phát triển trong suốt 4 năm.

Nhìn lại,
đó là một khoảng thời gian ý nghĩa nhưng cũng để lại trong tôi nhiều tiếc nuối.
Tiếc nuối rằng nếu có ai đó ở bên cạnh chỉ dẫn phương pháp học tập đúng đắn,
thì tôi đã có thể sử dụng thời gian hiệu quả hơn nhiều.

Theo ý kiến cá nhân của tôi,
khi mới bắt đầu học lập trình, việc học rộng và nông ở nhiều lĩnh vực là rất quan trọng.
Đó là để chúng ta trải nghiệm thử một lần.

Sau giai đoạn đó, bạn cần phải học thật sâu.
Nói cách khác, đó là nội dung về việc phải hiểu rõ nguyên lý.
Bởi vì nếu không biết nguyên lý, bạn sẽ rất khó để ứng phó với nhiều trường hợp khác nhau.

Nhưng các nguyên lý thường rất khó.
Nghĩ đến việc học nguyên lý thôi là đã thấy áp lực ngay từ đầu rồi.

Tuy nhiên, nếu đồng hành cùng tôi, bạn không cần phải lo lắng về điều đó.
Tôi đã chuẩn bị bài giảng với tâm thế như đang hướng dẫn cho chính bản thân mình trong quá khứ.
Mọi nguyên lý đều được thể hiện dễ dàng bằng hình minh họa,
và tôi đã xây dựng lớp học để bạn có thể học tập bài bản trong thời gian ngắn nhất.

Vì thời gian của các bạn là quý giá, tôi đã dồn hết tâm huyết vào từng bài giảng.
Liệu hình ảnh trong tài liệu bài giảng có dễ hiểu không?
Liệu hình ảnh giải thích nguyên lý có đại diện được cho mọi trường hợp không?
Tôi đã trăn trở liệu nội dung này có thực sự cần thiết để các bạn phát triển thành một lập trình viên giỏi hơn hay không,
và đã tạo nên bài giảng này như thể chắt lọc từng giọt tinh túy.

Tôi luôn ủng hộ sự phát triển của các bạn,
và hy vọng rằng một chút hỗ trợ nhỏ bé của tôi có thể giúp ích cho các bạn.

Xin cảm ơn.
Thank you.

Thêm

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

Tất cả

48 bài giảng ∙ (8giờ 9phú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á

Tất cả

129 đánh giá

5.0

129 đánh giá

  • shinyeoneui3715님의 프로필 이미지
    shinyeoneui3715

    Đánh giá 2

    ∙

    Đánh giá trung bình 5.0

    5

    35% đã tham gia

    Tôi đã mua và học một số bài giảng về Git trên Infrun, nhưng càng học thì tôi càng không hiểu nên tôi đã mua lại bài giảng này. Thật xấu hổ nhưng cho đến nay tôi chỉ nhập git add và git commit một cách máy móc mà không biết tại sao lại cần những quá trình đó. Tuy nhiên, thông qua bài giảng này, tôi đã hiểu được nguyên lý của Git. Bài giảng này đã giúp ích rất nhiều cho tôi. Cảm ơn bạn.

    • geubon
      Giảng viên

      Xin chào, shinyeoneui! Tôi rất vui vì bài giảng của tôi có thể giúp ích cho bạn 😊😊 Cảm ơn bạn rất nhiều vì những lời khen ngợi. Nếu bạn có bất kỳ câu hỏi nào về việc xử lý Git trong tương lai, hãy liên hệ với tôi bất cứ lúc nào! 🥰

  • ksg님의 프로필 이미지
    ksg

    Đánh giá 4

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    진짜 취업 전 필수 강의입니다. 실무에 도움이 될 만한 것들 다 다룹니다. 직관적인 그림 설명 때문에 강의 신청했지만, 그보다 앞서 핵심적이고 기본적인 내용이지만 잘 다뤄지지 않던 내용들이 깃을 이해하는데 가장 큰 도움이 되었습니다.

    • geubon
      Giảng viên

      Ồ.. Lớp học bắt buộc trước khi đi làm..! Cảm ơn vì những lời nói tuyệt vời!! (Thực ra.. Tôi cũng nghĩ vậy 😊😊) Luôn ủng hộ bạn, Seunggu Kang! Cố lên!

  • dengo님의 프로필 이미지
    dengo

    Đánh giá 13

    ∙

    Đánh giá trung bình 4.5

    5

    85% đã tham gia

    Đây là khóa học đầu tiên tôi nghĩ đến việc để lại đánh giá. Tôi bắt đầu sử dụng Git trong công việc thực tế và tôi chọn khóa học này vì nó quá khó để tôi có thể tự học. Đó là một bài giảng thực sự thú vị giải thích cấu trúc bên trong bằng hình ảnh. Nếu một bài giảng khác của người hướng dẫn được đưa ra, tôi nghĩ tôi sẽ tiếp nhận nó mà không do dự. Cảm ơn bạn đã tạo ra một khóa học tuyệt vời.

    • geubon
      Giảng viên

      Xin chào Byuldabang :) Cảm ơn bạn vì những lời rất tốt đẹp của bạn. 🥺 Tôi rất vui khi có thể giúp bạn thực hành và cảm thấy điều đó bổ ích hơn bất cứ điều gì khác. Tôi là một phần rất nhỏ trong hành trình phát triển của Byuldabang, Chúng tôi sẽ cố gắng hết sức để giúp bạn. (Đó là một bài giảng, nhưng...) Do sự khăng khăng của tôi về việc tạo ra một tác phẩm nghệ thuật... Phải mất khá nhiều thời gian để tạo nên một bài giảng ngắn 8 tiếng. Cho dù phải mất một thời gian, Chúng tôi sẽ làm cho nó đúng với suy nghĩ này. Cuối cùng, Cảm ơn bạn rất nhiều vì đã tham gia khóa học cơ bản. Tôi chân thành chúc mừng bạn đã hoàn thành khóa học. 🎉

  • dev8653님의 프로필 이미지
    dev8653

    Đánh giá 2

    ∙

    Đánh giá trung bình 4.0

    5

    79% đã tham gia

    Bài giảng hay nhất tôi từng học

    • geubon
      Giảng viên

      Xin chào, dev :) Ồ.. lời khen ngợi tuyệt vời.. Cảm ơn bạn! Tôi sẽ luôn cố gắng tạo ra những bài giảng hay. Chúc bạn năm mới vui vẻ 🥰

  • juhylee님의 프로필 이미지
    juhylee

    Đánh giá 2

    ∙

    Đánh giá trung bình 5.0

    5

    98% đã tham gia

    Thật điên rồ. Thật tuyệt vời. Không thể rõ ràng hơn thế nữa.

    • geubon
      Giảng viên

      Xin chào Juhylee :) Cảm ơn bạn rất nhiều vì đánh giá của bạn. Nhờ những lời của juhylee, Tôi cảm thấy như mọi công sức tôi bỏ ra để biên soạn bài giảng đã được đền đáp. Cảm ơn rất nhiều. Chúng tôi sẽ luôn cố gắng hết sức để tạo ra những bài giảng hay!

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!

Giảm 25% cho thành viên mới

851.191 ₫

25%

1.134.921 ₫