GIT là một hệ thống quản lý phân tán cho phép người quản lý mã nguồn một cách dễ dàng, trực tuyến và nhiều người có thể sử dụng chung tài nguyên.VCS Version Control System (Hệ thống quản lý phiên bản). VCS sẽ lưu lại toàn bộ mã nguồn và ghi chép đầy đủ trạng thái thay đổi của các file, với từng trạng thái thay đổi mỗi file, đều được log lại thành một phiên bản.
I Vậy GIT gì? Để tìm hiểu GIT, trước tiên phải tìm hiểu VCS trước VCS - Version Control System (Hệ thống quản lý phiên bản) VCS lưu lại toàn mã nguồn ghi chép đầy đủ trạng thái thay đổi file, với trạng thái thay đổi file, log lại thành phiên Lưu ý: VCS ám dạng hệ thống, tên hệ thống cụ thể Hiểu cách đơn giản, GIT hệ thống quản lý phiên dạng phân tán Đây hệ thống quản lý phổ biến GIT phiên Distributed Version Control System – DVCS hay gọi VCS Sử dụng GIT đem tới cho lập trình viên kho lưu trữ, chứa đầy đủ lịch sử thay đổi hệ thống. II Cách thức hoạt động Git GIT VCS Tuy nhiên, so với VCS thơng thường, GIT có số điểm khác biệt Trong đó, điểm khác biệt bật GIT cách đọc lưu trữ liệu phần mềm này. Về mặt khái niệm, hầu hết hệ thống lưu trữ thông tin cách thay đổi dựa file lưu trữ thông tin dạng danh sách Hệ thống tổng hợp cập nhật thơng tin, sau lưu trữ dạng tập hợp danh sách Các file thay đổi theo thời gian Tuy nhiên, cách hoạt động lưu trữ thông tin GIT lại hồn tồn khác Để lưu trữ thơng tin, GIT coi thông tin tập snapshot Đây tập hợp toàn ảnh chụp nội dung file thông tin thời điểm. Khi bạn đưa lệnh, GIT chụp lại thông tin thời điểm tạo snapshot Để nâng cao tính hiệu quả, GIT khơng lưu trữ file tệp khơng có thay đổi Thay vào đó, phần mềm liên kết liệu tới tệp giống với file lưu trữ trước đó. Nhờ vào điểm khác biệt với VCS này, GIT không tốn nhiều thời gian xem xét thông tin, giải mã phiên bản/hệ thống trước Thay vào đó, GIT nghĩ liệu khác đi, giúp việc lưu trữ dễ dàng Với cách lưu trữ thông minh này, GIT giống hệ thống gồm nhiều tệp nhỏ khác nhau. III Vai trò GIT việc phát triển phần mềm Ngày nay, dự án phần mềm nên áp dụng GIT, GIT giúp giải số vấn đề quan trọng sau: Là nơi lưu trữ source code Hãy tưởng tượng GIT “đám mây” lưu trữ Google Drive, Dropbox, nhiên GIT thiết kế riêng để lưu trữ source code Quản lý phiên source code Hãy tưởng tượng bạn phát triển sản phẩm có nhiều người sử dụng Vì sản phẩm có nhiều người dùng, nên u cầu tính ổn định phải cao Vì u cầu tính ổn định cao, nên bạn không phép code trực tiếp vào phiên source code chạy ổn định, mà phải code vào phiên khác – gọi phiên dev Trong lúc bạn code phiên dev, phiên chạy ổn định có cập nhật ngày Vậy vấn đề gặp phải để phát triển nhiều phiên source lúc Thì với GIT, việc phát triển nhiều phiên lúc vô dễ dàng, việc code thêm phiên không ảnh hưởng tới code phiên khác Có thể merge code (ghép code) từ nhiều người Đây lý quan trọng khiến người ta sử dụng VCS nói chung GIT nói riêng Với GIT, việc merge code từ nhiều người diễn tự động, trình merge code mà có xảy xung đột (mà GIT gọi conflict) GIT cảnh báo để biết IV Lợi ích sử dụng phần mềm GIT Sau tìm hiểu GIT gì và cách hoạt động GIT vai trò GIT, thấy khác biệt ưu điểm phần mềm so với VCS thơng thường Vì thế, việc sử dụng GIT để lưu trữ, kiểm soát phiên cần thiết Sử dụng GIT không tạo xung đột lập trình viên thực code hệ thống Ngoài ra, với việc dự án thường xuyên có thay đổi, sử dụng GIT giúp nhà phát triển dễ dàng tìm lại, quay lại phiên cũ Việc kiểm soát đơn giản hiệu GIT có lợi ích tuyệt vời dự án chạy song song Đặc biệt dự án có sở code Việc sử dụng GIT giúp phân nhánh tốt Qua giúp việc thực dự án dễ dàng hiệu hơn: Thao tác thực nhanh, gọn, lẹ hơn, việc sử dụng an tồn Người dùng dễ dàng kết hợp nhánh với Qua giúp đơn giản hóa quy trình code theo nhóm. Khi sử dụng GIT, người dùng cần sử dụng clone mã nguồn từ khoa chứa/phiên có sẵn kho lưu trữ/ nhánh kho lưu trữ Hệ thống lưu trữ xác cho phép bạn làm việc lúc nào, đâu. Giờ đây, việc lập trình dự án song song dễ dàng, hiệu xác V Các lệnh Git Git chia thành nhiều lệnh, từ đơn giản đến phức tạp Câu lệnh github Git config Lệnh Git Config sử dụng để thiết lập tên đăng nhập email người dùng main configuration file Bạn dễ dàng kiểm tra tên kiểu email cách dùng lệnh: git config – global user.name git config – global user.email. Để cập nhật tên email mới, bạn dùng lệnh git config – global user.name/email = “tên/email”. Git init Bạn dùng lệnh Git init để tạo git repository dự án có sẵn Lệnh sử dụng thư mục gốc dự án. Git clone Lệnh Git clone cho phép người dùng Copy git repository từ kho lưu trữ từ xa Bạn cần dùng lệnh: git clone . Git status Lệnh git status sử dụng người dùng cần check trạng thái file sửa đổi thư mục trình làm việc Chẳng hạn bạn kiểm tra thay đổi từ lần commit gần nhất. Git add Git Add sử dụng cần đổi Stage index đến thư mục bạn làm việc. Git commit Đây lệnh phổ biến bạn bỏ qua tìm hiểu Git gì. Git commit có tác dụng giúp Git lưu lại ảnh chụp hình/snapshot thay đổi thư mục trình làm việc với Git. Với Git, Commit, thay đổi tự động lưu lại thường nằm mục Staging Area Trong hệ thống lưu lại tên người chỉnh sửa để người dùng dễ dàng theo dõi Hệ thống lưu trữ tên email người thực sửa Bạn khôi phục lại tệp tin chuyển sang nhánh khác. Git push/git pull Lệnh Push hay pull cho phép người sử dụng thay đổi tới kho lưu trữ remote Nếu bạn thêm thay đổi muốn đưa thay đổi lên đầu, bạn dùng lệnh để cập nhật apply thay đổi thơng qua việc code Bạn dùng code: git pull and git push . Git branch Bạn dùng lệnh Git branch để liệt kê tất nhánh hệ thống Cách dùng đơn giản, bạn dùng Git Branch Git Branch-a. Git checkout Lệnh git checkout thường bị nhầm với lệnh git branch Tuy nhiên, lại lệnh hoàn toàn khác Lệnh Checkout cho phép người dùng chuyển sang nhánh khác cách dùng code: git checkout ** _ git checkout -b . Bạn dùng lệnh Git branch để liệt kê tất nhánh hệ thống Git stash Git stash lệnh nhiều người quan tâm tìm hiểu git Đây lệnh có tác dụng lưu thay đổi trường hợp bạn không muốn commit lúc Bạn cần sử dụng lệnh thư mục làm việc để thực việc lưu thay đổi. Git merge Lệnh git stash sử dụng người dùng cần nối nhánh với Bạn cần dùng code: git merge Hãy lưu ý chọn nhánh cần chọn trước code nhé. Git reset Nếu bạn đưa tệp tin vào mục Staging Area muốn loại bỏ tệp tin đó, bạn dùng lệnh reset thông qua đường code: git reset HEAD tên_file Git remote Git remote cho phép người dùng kiểm tra thêm kho lưu trữ trực tuyến Bạn sử dụng lệnh để liệt kê thông qua đường code: git remote add . Git add Thêm lệnh Git add Tuy nhiên, lệnh git add sử dụng để đưa tệp tin vào khu vực staging Khi tìm hiểu git gì, bạn cần lưu ý khác biệt lệnh git add để sử dụng xác Để thêm tệp tin, bạn chọn git add tên file all muốn thêm tất file có thư mục. Một số thuật ngữ quan trọng liên quan đến Git Trong q trình tìm hiểu GIT gì, chắn khơng thể bỏ qua thuật ngữ quan trọng Đây phần mềm sử dụng nhiều thuật ngữ khác Bạn cần nắm rõ thuật ngữ để việc sử dụng GIT hiệu Branch Trong GIT, Branch hiểu nhánh Các Branch tương ứng với phiên cụ thể kho lưu trữ Branch cho phép người dùng dễ dàng truy cập, theo dõi thay đổi phiên bản, từ thử nghiệm lựa chọn sử dụng phiên cũ hơn. Commit Commit thuật ngữ quen thuộc Git Vậy commit git gì? Hiểu cách đơn giản, commit thuật ngữ thể thời điểm cụ thể lịch sử thực code bạn Các dự án có nhiều thời điểm cụ thể lịch sử nên có nhiều code Khi sử dụng git, bạn dùng lệnh commit kết hợp với lệnh git add để kiểm tra thay đổi lưu trữ local repository. Commit thuật ngữ quen thuộc Git Check out Khi sử dụng git, lập trình viên dùng lệnh checkout để chuyển nhánh hay gọi branch Chỉ cần nhập lệnh git checkout + tên Branch, bạn chuyển đến nhánh mong muốn Đồng thời, lệnh check out cho phép người dùng chuyển branch (master Branch). Fetch Sử dụng lệnh Fetch cho phép bạn nạp tải hệ thống lưu trữ tải tệp nhánh máy tính cá nhân Bạn sử dụng lệnh Fetch để lưu thay đổi vào kho lưu trữ Fetch cho phép bạn lưu trữ nhiều nhánh thời điểm. Fork Fork thuật ngữ thể kho lưu trữ Tiện ích fork cho phép người dùng – lập trình viên thử nghiệm thay đổi Nhờ việc sử dụng nên người dùng thoải mái thay đổi mà không lo ảnh hưởng tới dự án chính. Head Các nhánh Git bao gồm commit Và commit đầu nhánh gọi Head Một head tương ứng với commit hệ thống lưu trữ. Index Index thuật ngữ sử dụng bạn thêm/xóa/thay đổi file liệu Tuy nhiên, file liệu cần nằm thư mục bạn sẵn sàng commit thay đổi Bạn phân biệt thay đổi dựa vào màu sắc commit Các thay đổi có màu xanh tức sẵn sàng để thay đổi, màu đỏ chưa sẵn sàng. Index thuật ngữ sử dụng bạn thêm/xóa/thay đổi file liệu Master Master trong Git gì? Đây nhánh kho lưu trữ phần mềm Git mà bạn sử dụng Nhánh master bao gồm thay đổi commit thời gian gần nhất. Merge Trong Git, người dùng dùng lệnh Git Merge để bổ sung thay đổi từ branch sang branch khác Người dùng cần dùng lệnh Merge pull requests dễ dàng kéo yêu cầu từ nhánh khác nhau. Origin Đây phiên mặc định hệ thống lưu trữ Origin đóng vai trị liên lạc với nhánh Vì thế, người dùng dùng lệnh Git push Origin master để thay đổi tới nhánh Việc thay đổi diễn cục Pull Thuật ngữ Pull trong Git gì? Hiểu cách đơn giản, Pull việc người dùng đề xuất thay đổi cho Master Branch Đây tính phù hợp với dự án cần làm việc nhóm Người thực dùng tính Pull Request để u cầu người có nhiệm vụ thực bảo trì kho lưu trữ để xem xét thay đổi hệ thống. Người dùng dùng lệnh Git Pull để thay đổi lịch sử lưu trữ vào nhánh chính. Push Lệnh Push sử dụng người lập trình cần cập nhật branch từ xa Đồng thời, Git Push dùng cho thay đổi mà người sử dụng commit Rebase Nếu muốn phân tích, di chuyển commit, rebase lệnh phù hợp Bạn sử dụng lệnh Git rebase để thoát khỏi commit hợp nhánh khác Remote Remote kho lưu trữ Tuy nhiên, kho lưu trữ từ xa Remote nhánh, có cấu trúc giao tiếp ngược dòng với nhánh gốc nhánh khác có kho lưu trữ. Repository Đây thuật ngữ thể kho lưu trữ GIT với tập dự án Trong kho lưu trữ Repository chứa branch, tags commit. Stash Lệnh Stash cho phép người dùng loại bỏ thay đổi có mục lựa chọn Sau đó, bạn xóa stashes Trong trường hợp bạn muốn tạm dừng hoạt động thời gian ngắn, lệnh Stash lựa chọn hữu ích dành cho bạn. Tags Các tags sử dụng để theo dõi commit quan trọng hệ thống Người dùng sử dụng tags để thích commit, giúp việc tra cứu đối tượng nhanh chóng đầy đủ hơn. Upstream Upstream thuật ngữ để chơi nơi bạn push thay đổi nhóm chính. VI Một số lưu ý làm việc với Git Dù Git khơng khó sử dụng để nhớ tất lệnh việc không đơn giản Để giúp việc thực đạt hiệu cao, bạn cần lưu ý: Git Cheet Sheets: Các lệnh Git nhiều Vì thế, sử dụng khơng thể nhớ tất lệnh, bạn dùng Git Cheet Sheets Đây website cung cấp git tự động. Commit thường xuyên: Bạn nên thực việc commit thường xuyên để thành viên dễ dàng code, tích hợp với nhau, tránh lỗi kết hợp. Test commit: Trước commit, bạn cần test để hoàn tất process Việc test cần thực trước chia sẻ với người khác. Viết ghi commit: Bạn viết ghi để người khác biết tiến độ, công việc bạn thực Mô tả chi tiết việc thực dễ dàng. Thử nghiệm Branch khác: Bạn sử dụng nhánh khác để test. Theo Git Workflow: Sử dụng git workflow giúp nhóm hiểu thực việc hiệu ... Trong trình tìm hiểu GIT gì, chắn khơng thể bỏ qua thuật ngữ quan trọng Đây phần mềm sử dụng nhiều thuật ngữ khác Bạn cần nắm rõ thuật ngữ để việc sử dụng GIT hiệu Branch Trong GIT, Branch hiểu nhánh... thuật ngữ quen thuộc Git Vậy commit git gì? Hiểu cách đơn giản, commit thuật ngữ thể thời điểm cụ thể lịch sử thực code bạn Các dự án có nhiều thời điểm cụ thể lịch sử nên có nhiều code Khi sử dụng... dùng lệnh Git branch để liệt kê tất nhánh hệ thống Git stash Git stash lệnh nhiều người quan tâm tìm hiểu? ?git Đây lệnh có tác dụng lưu thay đổi trường hợp bạn không muốn commit lúc Bạn cần sử dụng