fbpx
close

Github là gì? Repository là gì? Các thuật ngữ liên quan đến Github

Tác giả: Đông Tùng Ngày cập nhật: 22/11/2021 Chuyên mục: Webmasters
Disclosure
Website Wiki.tino.org được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Wiki.tino.org sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại wiki.tino.org được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Nếu bạn là một lập trình viên sẽ không thể bỏ qua Github. Đây là lựa chọn hoàn hảo để quản lý source code khi bạn tham gia vào một dự án. Trong quá trình quản lý, kho lưu trữ dữ liệu có một thuật ngữ được gọi là Repository. Vậy Repository là gì? Bài viết hôm nay sẽ giới thiệu đến các bạn về Github, Repository và các khái niệm liên quan.

Github là gì?

Github là sự kết hợp giữa hai từ Git và Hub. Trong đó:

  • Git là một hệ quản trị phiên bản được phát triển bởi Linus Torvalds – cha đẻ của hệ điều hành Linux. Git được xem là hệ thống quản lý dự án và phiên bản code.
  • Hub là nơi biến những dòng lệnh trên Git thành mạng xã hội khổng lồ cho lập trình viên.

Như vậy, GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm. Github có đầy đủ những tính năng của Git, ngoài ra nó còn hoạt động như một mạng xã hội cho phép các lập trình viên tương tác với nhau.

Repository-la-gi

Đối với những dự án có nhiều người tham gia, Github đóng vai trò quản lý và giám sát những thay đổi của dự án đó, đồng thời cho phép khôi phục code khi cần thiết.

Github ra đời khi nào?

GitHub được viết bằng Ruby on Rails và Erlang do các lập trình viên Tom Preston-Werner, Chris Wanstrath và PJ Hyett cùng nhau phát triển và chính thức ra mắt vào tháng 4 năm 2008.

Tính đến tháng 3 năm 2018, Github đang là dịch vụ máy chủ lưu trữ các mã nguồn lập trình lớn nhất thế giới với hơn 25 triệu người dùng cùng với 80 triệu mã nguồn dự án. Hiện nay, Github trở thành một yếu tố có sức ảnh hưởng lớn trong cộng động mã nguồn mở.

Cùng với Linkedin, Github có thể được dùng để thay thế cho CV của bạn.

Repository và các khái niệm liên quan đến Github

Repository là gì?

Repository được hiểu là một kho lưu trữ nơi chứa các files của dự án. Các file đó có thể là code, hình ảnh, âm thanh hoặc mọi thứ liên quan đến dự án. Bạn có thể tổ chức kho lưu trữ của mình dưới nhiều hình thức khác nhau, hai loại kho lưu trữ trong Github là Local Repository và Remote Repository.

  • Local Repository: là một lại repository nằm trên máy tính của bạn, repository này có nhiêm vụ đồng bộ hóa với remote repository bằng các lệnh của git.
  • Remote Repository: là một loại repository được cài đặt trên server chuyên dụng. Ví dụ như: GitHub, GitLab, Bitbucket,…
Repository-la-gi

Hướng dẫn cách tạo một GitHub Repository

Bước 1: Vào Github tại đây, sau đó đăng ký một tài khoản bằng cách click vào “Sign up for Github”.

Sau khi hoàn tất đăng ký và kích hoạt. Bạn hãy tạo một project mới bằng cách nhấp vào “Start a new project”.

Repository-la-gi

Bước 2: Nhập tên Repository và nhấn nút “Create Repository”. Ngoài ra, bạn cũng có thể thêm mô tả cho Repository (lựa chọn này không bắt buộc).

Repository-la-gi

Trong đó, bạn cần lưu ý:

  • Repository mặc định là công khai. Nếu dự án của bạn chỉ muốn quản lý nội bộ thì chọn “Private“.
  • Bạn có thêm một “README file” để giới thiệu Repository kèm với một file .gitignore. Github đã cho bạn sẵn template .gitignore, nên bạn chỉ cần chọn một template phù hợp với mã nguồn dự án là được.

Nếu thành công, bạn sẽ thấy Repository giống như hình dưới đây:

Repository-la-gi

Như vậy là bạn đã có thể tạo Github Repository rồi đấy!

Branch

Branch được dùng để phân nhánh và ghi luồng của lịch sử. Bạn có thể dùng Branch để triển khai dự án theo hướng cô lập để không ảnh hưởng đến dự án chính. Tại đây cho phép bạn thử nghiệm các tính năng mới hoặc điều chỉnh, sửa lỗi project.

Khi khởi tạo kho lưu trữ hoặc Clone, các thành viên sẽ được tạo lập một branch dùng riêng cho công việc của mình từ branch chính để không làm ảnh hưởng đến công việc của những thành viên khác. Branch riêng này sẽ chứa toàn bộ mã nguồn trong kho.

Sau khi công việc đã hoàn thành, bạn có thể nhập branch vừa tạo vào những branch khác khoặc repository chính bằng cách dùng lệnh Pull Request.

Repository-la-gi

Pull Request

Pull Request là lệnh được dùng để thông báo với mọi người rằng bạn đã đẩy những thay đổi của Branch lên Repository tổng . Khi đó, các thành viên khác có thể chấp nhận hoặc từ chối Request này. Khi lệnh này được mở, bạn và các thành viên có thể xem lại công việc và thảo luận với nhau.

Để tạo Pull Request, bạn hãy thực hiện theo các bước sau:

  • Chuyển tới repository và tìm menu branch
  • Trong branch menu, chọn branch bạn vừa thay đổi.
  • Nhấn vào nút New pull request bên cạnh menu branch
  • Thêm tiêu đề và mô tả vào Pull Request của bạn
  • Nhấn nút Create Pull Request

Fork Repository

Khái niệm này được hiểu là hành động tạo một dự án mới dựa trên dự án đã có sẵn. Cho phép bạn sao chép hoàn toàn một repository cũ, sau đó thay đổi hoặc chỉnh sửa một vài thứ cần thiết và lưu phiên bản mới này dưới dạng một repository độc lập hoàn toàn mới và gọi nó là dự án của riêng bạn.

Đây là tính năng giúp bạn đẩy nhanh tiến độ của dự án. Vì là một dự án mới nên repository cũ không ảnh hưởng. Khi repository tổng được cập nhật, bạn cũng có thể áp dụng các cập nhật đó lên bản fork của bạn.

Cách tạo fork repository rất đơn giản:

  • Tìm repository bạn muốn fork
  • Nhấn vào nút Fork

Clone

Với tính năng gần giống như Fork, Clone cho phép tạo ra bản sao dữ liệu hoàn chỉnh của kho đang được lưu chứa trên máy chủ và tất cả lịch sử trên kho. Với Clone, bạn có thể phục hồi bất kỳ bước nào dù đã commit. Đặc biệt, dù ổ cứng máy chủ có bị hư hỏng và không sử dụng được, bạn vẫn có thể sử dụng Clone của máy khách bất kỳ để khôi phục lại dữ liệu máy chủ.

Commit

Commit là thao tác có chức năng ghi lại những thay đổi file hay thư mục vào kho lưu trữ, những thay đổi này sẽ được lưu vào thư mục commit trong kho và được sắp xếp theo thứ tự thời gian chỉnh. Do đó khi nhìn vào thư mục commit bạn sẽ biết lịch sử chỉnh sửa/thay đổi các file hoặc thư mục. Mỗi commit đều cần phải có commit message với nhiệm vụ ghi nhận sự thay đổi theo tiến trình update của lập trình viên.

Để tạo commit, bạn hãy làm theo những bước sau:

  • Chọn file muốn sửa
  • Chọn “Edit” để sửa file.
  • Sau khi sửa xong, bạn hãy điền thông tin message và nhấn Commit.

Snapshot

Snapshot là ảnh chụp các bước commit của bạn tại kho lưu trữ nhằm lưu lại nội dung tập tin hoặc thư mục dùng để tham chiếu. Do Git lưu trữ dưới dạng hình ảnh nên sẽ giúp người dùng tiết kiệm khá nhiều không gian và tài nguyên.

Push

Push là lệnh đưa nội dung mà bạn đã commit từ kho lưu trữ ở local đến kho lưu trữ server.

Fetch

Fetch là lệnh giúp bạn di chuyển toàn bộ dữ liệu trên kho lưu trữ server về máy tính để tích hợp dữ liệu vào branch.

Bài viết khái quát những gì cơ bản nhất về Github cùng những thuật ngữ liên quan như Repository, Branch, Pull Request,..Hy vọng, công cụ này sẽ giúp cho công việc lập trình của bạn hiệu quả hơn.

FAQs về Repository và Github

Fork Repository và Clone khác nhau như thế nào?

Việc fork một repository cho phép bạn dễ dàng chỉnh sửa, thay đổi source code mà không ảnh hưởng tới source gốc. Còn với clone, đây là một bản remote local copy của một số kho lưu trữ. Khi bạn sao chép, bạn đang sao chép toàn bộ repo, bao gồm tất cả lịch sử và các nhánh.

Repository và Project trên Github khác nhau như thế nào?

Để hỗ trợ việc quản lý, đa số dịch vụ hỗ trợ Github cung cấp hai lựa chọn khác nhau khi tạo dự án là repository và project. Repository thường được sử dụng để lưu trữ những tập tin cho một dự án nhất định với nhiều chức năng kèm theo như commit, clone hay chức năng so sánh giữa các phiên bản. Mắc khác, Project được dùng để quản lý các repositories thay vì quản lý các tập tin chi tiết như Repository.

Có phải Github chỉ dành cho lập trình viên hay không?

GitHub là một nền tảng tuyệt vời đã thay đổi cách hoạt động của lập trình viên. Tuy nhiên, bất kỳ ai muốn quản lý dự án hữu hiệu cũng có thể tham gia vào GitHub và hợp tác làm chung dự án để đạt hiệu quả cao nhất. Nếu bạn đang tham gia một dự án cần được thay đổi và cập nhật liên tục, Github sẽ là lựa chọn tuyệt vời.

Ngoài Repository Github, còn dịch vụ repository miễn phí trên Git không?

Ngoài Github vẫn còn một số dịch vụ khác trên Git mà bạn có thể tạo repository như:

  • Bitbucket: Nếu bạn cần server Git dành cho một nhóm ít hơn 5 người làm việc với nhau thì bạn có thể dùng Bitbucket. Tại đây, bạn sẽ được quyền tạo private repository không giới hạn nhưng chỉ có 5 thành viên được quyền truy cập vào private repository.
  • Assembla: Trong khi Github và Bitbucket sẽ miễn phí không giới hạn repository tạo ra, Assembla lại bị giới hạn 2 repository ở tài khoản miễn phí. Tuy nhiên, nếu bạn cần lựa chọn thêm giao thức FTP/sFTP để gửi dữ liệu lên repository thì Assembla là lựa chọn tốt nhất. Đồng thời, tất cả repository tạo ra từ Assembla đều là private.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan

Mục lục

Xem nhiều

giá tốt, chất lượng cao mình rất hài lòng
chất lượng dịch vụ tốt lắm...á
chất lượng dịch vụ rất tốt.
giá tốt, chất lượng cao mình rất hài lòng
Dịch vụ chăm sóc khách hàng tốt
Dùng rất oke nha mọi người
Dịch vụ chăm sóc khách hàng tốt, mình rất hài lòng về dịch vụ của TINOHOST
Đã mua rất nhiều tên miền tại Tinohost. Chất lượng tốt
dịch vụ và chăm sóc khách hàng rất tốt , mình rất thích tinohost , mình đã sử dụng nhiều dịch vụ của tinohost rồi
tuyệt vời chăm sóc khách hàng quá tốt
dịch vụ và chăm sóc khách hàng rất tốt , mình rất thích tinohost , mình đã sử dụng nhiều dịch vụ của tinohost rồi
Quá tốt - Quá xuất sắc và tuyệt
Hỗ trợ nhiệt tình. dịch vụ chất lượng
Đội ngũ support rất nhiệt tình.
Sử dụng dịch vụ của bạn Tinohost 2 3 năm nay chưa khi nào phải thất vọng.
host dùng chất lượng, miền giá rẻ
dịch vụ hỗ trợ rất nhanh, tốc độ hosting tốt
Hộ trợ tốt, nhanh. Tuyệt vời 🥰
tuyệt vời, dịch vụ cực tốt và hỗ trợ siêu nhanh
Làm việc nhanh chóng, giá thành hợp lí.
Hosting rẻ và nhanh thích hợp cho học sinh sinh viên như mình
dịch vu tốt ! Sẽ sử dụng thưởng xuyên !
Mỗi lần cần gì, nhắn Tino là được hỗ trợ ngay. Nên một đứa không biết gì về web như mình cũng tạo được blog. Cơ bản mình chỉ lo viết, mọi thứ có anh IT của Tino lo hết.
Nhìn chung thì Tino xứng đáng là một trong những nhà cung cấp host giá rẻ #1 tại VN. Bên này support khá nhanh và nhiệt tình nên quá trình sử dụng diễn ra tương đối trơn tru.
Chất lượng quá ok so với mức giá. Các SME có thể tham khảo để dựng web nhé.
uy tín chất lượng chuẩn cho 5 sao
Dịch vụ nhanh chóng thanh toán tiện lợi
Dịch vụ nhanh chóng, giá cả hợp lý
Chất lượng phục vụ ok, support khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
Dịch vụ tốt, giá cả hợp lý👍
Rất hay, rất tốt, rất hữu ích
Hỗ trợ rất nhanh và nhiệt tình
Chất lượng phục vụ ok, support khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
dịch vụ tốt, thanh toán nhanh chống
Hài lòng dịch vụ của tinohost
Sau khi sử dụng dịch vụ của TinoHost. Mình thấy website load nhanh hơn hẳn so với sử dụng ở nhà cung cấp cũ. Giá cả do mình đc mua với giá sale 99% của TinoHost nên rất là rẻ. Gói mình mua là gòi Hosting Bussiness 20GB. Thông số cấu hình cao nên web load khá mượt
Chúc TinoHost phát triển!
domain rẻ, có nhiều gói hữu ích thích hợp cho sinh viên
Hài lòng về dịch vụ và tư vấn
Dịch vụ tốt . Support nhiệt tình
Chất lượng OK
Nhanh chóng
dịch vụ rất tốt
Nhân viên support nhanh, hỗ trợ nhiệt tình, giao dịch tự động nên khá tiện
Đã dùng nhiều dịch vụ tại Tinohost, chất lượng tốt, rất hài lòng ...😀
Sự dụng rất hài lòng với các dịch vụ của tinohost
Dịch vụ tốt, uy tín chất lượng
Tino dịch vụ quá tuyệt vời
Giá rẻ, dịch vụ tốt, hỗ trợ nhanh chóng
dịch vụ rất tốt rất tuyệt vời
Giá hợp lý cho người mới dùng
Mình thấy Tinohost có giao diện thân thiện, dễ đăng ký sử dụng cho người mới tập tành làm web như mình. Hosting hỗ trợ có nhiều lựa chọn về dung lượng và giá cả! Thanh toán qua momo thuận tiện. Recommended!
wed quá ok làm việc nhanh ngọn
Dịch vụ tốt. Khá hài lòng vì support nhiệt tình
Dịch vụ quá tuyệt vời danh cho các bạn
Xin cảm ơn đội ngủ kỹ thuật. Các bạn rất chuyên nghiệp và thân thiện. Tôi sẽ giới thiệu các bạn cho bạn bè của mình.
Dịch vụ hỗ trợ tốt, ổn định, thanh toán dễ dàng.
Mình từng dùng VPS bên Vietel IDC, hay gặp lỗi vặt và bảo trì liên tục. Nhưng Tino thì rất ok
dùng tốt, nhanh, dễ sử dụng
Giao diện đẹp mắt, dễ sử dụng
Đề nghị xem lại vấn đề phục vụ khách hàng (livchat)!
Good. Tốc độ cao. Tùy chỉnh nhiều trên shared hosting.
hosting ngon, giá luôn rẻ, tôi làm code nhưng rất thích sài host tino
Tino cung cấp host rất chuyên nghiệp. Đội ngũ kỹ thuật hỗ trợ rất tận tâm và nhiệt tình. Mình sẽ tiếp tục ủng hộ Tino 🥰.
Rất tuyệt vời🙆🙆🙆🙆🙆🙆🙆🙆🙆
Xét về tầm giá thì TinoHost rất đáng để mua và sử dụng lâu dài.
Dịch vụ chất lượng, ủng hộ 1 năm nay rồi
tuyệt vời quá đi,tuyệt vời quá đi
Tốc độ ổn định, tư vấn nhiệt tình
mới tham gia, mong mọi người hỗ trợ thêm
Tốc độ khá tốt với gói rẻ nhất 9k
Giao dịch nhanh,support nhanh và tận tình,chuyển miền nhanh,Hosting Ok
mua sản phẩm dịch vụ tinhot rất tốt tặng ad 5tr ** luon nè🥰🥰🥰
tinohost
một truong những nơi bán hosting rẻ, chất lượng dành cho anh em nào cần để làm web
mua tại : tinohost.com
mình đã mua 2 tên miền + hosting của Tino Host . quả nhiên hiệu quả SEO cải thiện đáng kể và chứng chỉ bảo mật HTTPS miễn phí của Tino Host cũng ko kém phần quang trọng cho việc SEO website của mình
Tino host là một trong nhà cung cấp tốt nhất mình từng sử dụng. Với ưu đãi khuyến mại nhiều, giá thành rẻ kèm theo đó là sự support tuyệt vời của các admin. Nếu ai chưa lựa chọn được nhà cung cấp cho bản thân mình thì Tinohost sẽ là câu trả lời tốt nhất.
dịch vụ tốt, đội ngũ support nhiệt tình, cảm ơn #tinohost
Uy tín, chất lượng, nhân viên hỗ trợ nhiệt tình
mua 2 domain tại tinohost dùng rất chất lượng
Đã mua 02 domain và hosting tại TinoHost, hài lòng cách tư vấn và chăm sóc khách hàng của TinoHost :)
Giá rẻ cấu hình mạnh, black friday là sự bùng nổ của Tino
Hay web bán tài nguyên rất ngon
dịch vụ tốt, mua luôn host chất lượng cao của công ty nhân dịp blackfriday, cảm ơn #tinohost
Dịch vụ rất tốt, nhân viên tận tình.
Hỗ trợ nhiệt tình nhất trong các nhà cung cấp mih từng dùng. Không những server mạnh, ưu đãi có 1 không 2 mà còn nhiều plugin pro bản quyền đính kèm nữa. Quyết định gắn bó "Lifetime" với tino 😁
Dịch vụ tốt hỗ trợ nhanh chóng
Thích cách tư vấn tận tình và nhanh gọn của Tino mỗi khi có vấn đề trục trặc. Hosting ổn định, giá rẻ tốt lắm nhé mọi người
mình có mua 2 tên msiền của tino, mình rât thích cách tư vấn và chăm sóc khách hàng tại đây. Ngoài ra giá domain khá rẻ, phù hợp cho mọi người. 5 sao
Dịch vụ tốt, support nhiệt tình
tinohost tuyệt vời giá cả hợp lý
domain mua rất rẻ :))))
tốt, chất lượng, hostingok
Hosting tốt, giá cả cạnh tranh
Tuyệt vời , Hosting quá ổn
Chất lượng lắm ạ. Domain mua rẻ nhất thị trường
Dịch vụ tốt và chất lượng
Chất lượng lắm ạ. Domain mua rẻ nhất thị trường
Tino Host dùng quá ngon đi !💥💥💥💥💥
Tôi đã mua domain và hosting của các nhà cung cấp khác rồi, nhưng thực sự thấy không tốt bằng Tino, ngoài ra còn hỗ trợ rất tốt. Cảm ơn tino nhiều!
Next Reviews
CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn,  Phường Bến Nghé, Q. 1, TP. Hồ Chí Minh

Văn phòng kinh doanh: Số 42 Trần Phú, Phường 4, Quận 5, TP HCM
GPKD số 0315679836 do Sở KH và ĐT TP Hồ Chí Minh cấp
Hotline: 0364 333 333
Góp ý/Phản ánh dịch vụ: 0933 000 886