Khái niệm cơ bản về Git và GitHub
Sự phát triển phần mềm hiện đại sẽ không thể thực hiện được nếu không có hệ thống kiểm soát phiên bản. Toàn bộ môi trường phụ thuộc vào sự hợp tác của các nhóm làm việc trên các tính năng khác nhau cùng một lúc và kiểm soát phiên bản cho phép bạn làm việc dễ dàng. Do đó, cần phải hiểu cách Git hoạt động - hệ thống kiểm soát phiên bản phổ biến nhất hiện nay.
Trong bài viết này, chúng ta sẽ tìm hiểu những kiến thức cơ bản về hệ thống kiểm soát phiên bản git và cách sử dụng Git nói chung.
Git là gì?
Được rồi, trước tiên, hãy trả lời câu hỏi hệ thống kiểm soát phiên bản git chính xác là gì.
Git là một hệ thống kiểm soát phiên bản phân tán nguồn mở được phát triển bởi cùng một người đã tạo ra Linux. Nó hoạt động trên mọi hệ điều hành chính — Linux, Windows và Mac OS, vì vậy, bất kể bạn sử dụng hệ điều hành nào, Git sẽ hoạt động ở đó.
Tại sao nên sử dụng Git?
Để trả lời tốt câu hỏi này, hãy để tôi chia sẻ một đoạn hồi tưởng khi tôi mới bắt đầu phát triển web.
Tôi đang làm việc trên một chiếc máy tính để bàn cũ ở nhà và đây là nơi tôi từng xây dựng tất cả các dự án khác nhau của mình nhưng rồi một ngày chiếc máy bị hỏng và tôi đã mất tất cả các dự án của mình.
Sau một thời gian, tôi có một chiếc máy mới và quyết định thực hiện lại tất cả các dự án trước đây của mình vì chúng rất quan trọng đối với việc học tập của tôi. Tôi cũng muốn nâng cấp chúng bằng các phương pháp kỹ thuật tốt hơn.
Vì trước đây tôi đã gặp sự cố mất dữ liệu nên tôi đã quyết định giải quyết vấn đề này bằng một giải pháp tuyệt vời để lưu trữ công việc của mình ở nhiều khu vực cục bộ trên máy và trên thiết bị di động với các phiên bản khác nhau của mỗi dự án cho mỗi lần tôi thay đổi hoặc nâng cấp cùng một dự án.
Vì vậy, tôi đã từng sao chép tất cả các tệp dự án của mình vào một thư mục mới có tên là phiên bản 2 và đó là nơi thực hiện tất cả các thay đổi có thể khi tôi có một ý tưởng mới hoặc một số thay đổi lớn cần thực hiện trong cùng một dự án, tôi sẽ mở một thư mục khác đặt tên là phiên bản 3 và sao chép tất cả các tệp phiên bản 2 vào đó và mỗi khi tôi cần quay ngược thời gian nếu một số thay đổi làm hỏng trang web của tôi, tôi sẽ quay lại phiên bản ổn định hơn cho dự án của mình và nhân tiện, hồi đó tôi đã không biết bất cứ điều gì về Git nên đây là ý tưởng ban đầu của tôi về hệ thống kiểm soát phiên bản.
Chà, điều này đã hiệu quả với tôi trong một thời gian cho đến khi tôi đạt được một số dự án lớn với các tệp mô-đun nút nặng nề, yêu cầu tôi thực hiện rất nhiều thay đổi khiến tôi kết thúc với rất nhiều phiên bản của các dự án khác nhau và trước khi tôi biết thì cách tiếp cận này là chiếm quá nhiều dung lượng lưu trữ trên ổ cứng của tôi và tất cả các ổ đĩa của tôi hiện có màu đỏ và tôi biết mình cần một giải pháp tốt hơn.
Đây là nơi một người bạn nói với tôi về Git và cảm ơn hệ thống kiểm soát phiên bản Git vì đã giải quyết tất cả các vấn đề của tôi.
Hệ thống kiểm soát phiên bản Git
- đó là một hệ thống ghi lại các thay đổi đối với tệp của chúng tôi theo thời gian.
- Chúng tôi có thể gọi lại các phiên bản cụ thể của các tệp đó tại bất kỳ thời điểm nào.
- Nhiều người có thể dễ dàng cộng tác trong một dự án và có các phiên bản tệp dự án của riêng họ trên máy tính.
Lệnh Git
git clone <URL>: URL của kho lưu trữ- được lưu trữ trên GitHub/Bitbucket hoặc bất kỳ máy chủ từ xa nào khác- mà chúng tôi muốn tải xuống trên máy tính của mìnhgit add <filename>: tệp này là tệp mà chúng tôi muốn theo dõi vào lần tới khi chúng tôi lưu một bản sao của kho lưu trữ. Hãy nhớ rằng chúng ta phải ở trong cùng thư mục với thư mục chứa tệp sẽ được thêm vào.git add *: thêm tất cả các tệp chưa được lưu, rõ ràng là nhanh hơn git thêm các tệp riêng lẻ. Tuy nhiên, việc tách riêng phần bổ sung và phần xác nhận cho phép chúng tôi kiểm soát kho lưu trữ của mình và cho phép chúng tôi chỉ định những thay đổi nào chúng tôi muốn theo dõi.git commit -m "message": lệnh này chỉ đơn giản là lưu các thay đổi được thực hiện vào kho lưu trữ. -m là viết tắt của phương pháp. Thông báo sẽ mô tả bất cứ điều gì chúng tôi đã thay đổi trong “cam kết”. Điều này rất hữu ích vì chúng ta có thể quay lại danh sách các thông báo mô tả một tập hợp các thay đổi tuần tự.git status: cho chúng tôi biết những gì hiện đang diễn ra trong kho lưu trữ của chúng tôi

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































