Học Git cơ bản và nâng cao | 24 bài học miễn phí Git hay nhất PDF git basic concepts

7 195 1
Học Git cơ bản và nâng cao | 24 bài học miễn phí Git hay nhất PDF git basic concepts

Đang tải... (xem toàn văn)

Thông tin tài liệu

http://vietjack.com/git/index.jsp Copyright © vietjack.com Cơ Git VCS – hệ thống quản lý phiên Version Control System (VCS) phần mềm mà giúp nhà phát triển phần mềm làm việc trì lịch sử đầy đủ công việc mà họ làm Dưới chức VCS:  Cho phép nhà phát triển phần mềm làm việc với  Không cho phép ghi đè lên thay đổi  Duy trì lịch sử phiên Dưới loại VCS:  Hệ thống kiểm soát phiên tập trung (CVCS)  Hệ thống kiểm soát phiên phân phối/phân cấp (DVCS) Trong chương tập trung vào hệ thống quản lý phiên phân phối đặc biệt Git Hệ thống kiểm soát phiên phân phối Hệ thống kiểm soát phiên tập trung (CVCS) sử dụng máy chủ để lưu giữ tất file cho phép team cộng tác với Nhưng nhược điểm lớn CVCS điểm thất bại nó, tức là, thất bại máy chủ trung tâm Thật không may là, máy chủ trung tâm bị hỏng giờ, suốt qng thời gian khơng cộng tác với Và trường hợp xấu nhất, đĩa máy chủ trung tâm bị hỏng lưu khơng thực hiện, bạn tồn lịch sử dự án Tại đây, hệ thống quản lý phiên phân phối xuất Các client DVCS không kiểm tra ảnh chụp thư mục mà họ quan sát tất repository trữ dự án Nếu server bị hỏng, kho dự trữ client sao đầy đủ cho server để khôi phục lại Git khơng phụ thuộc vào server trung tâm lý bạn thực nhiều thao tác bạn offline Bạn ủy thác thay đổi, tạo nhánh, xem ghi thực hoạt động khác bạn offline Bạn cần kết nối mạng để công bố thay đổi bạn đưa thay đổi vào dự án http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/git/index.jsp Copyright © vietjack.com Các lợi Git Nguồn miễn phí mở Git cơng bố giấy phép nguồn mở GPL Nó có sẵn miễn phí mạng Bạn sử dụng Git để quản lý dự án thích hợp mà khơng phải trả đồng Như nguồn mở, bạn tải mã nguồn thực thay đổi theo yêu cầu bạn Tốc độ nhanh nhỏ gọn Khi hầu hết thao tác thực nội bộ, mang lại lợi ích lớn tốc độ Git khơng phụ thuộc vào server, lý mà không cần tương tác với server từ xa cho thao tác Phần cốt lõi Git viết C, mà tránh chi phí liên quan đến thời gian chạy với ngôn ngữ bậc cao khác Mặc dù Git phản ánh tồn repository trữ, kích thước liệu client nhỏ Điều cho thấy hiệu Git việc nén lưu trữ liệu client Dự phòng (sao lưu) ẩn Việc liệu xảy mà có nhiều Dữ liệu diện client nào, sử dụng trường hợp hỏng ngừng server An toàn cao Git sử dụng hàm băm (hash funtion) mật mã chung gọi hàm băm an toàn (SHA1), để đặt tên xác định đối tượng sở liệu Mỗi tập tin commit kiểm tra tóm tắt thu kết thời gian kiểm tra Điều ngụ ý rằng, khơng thể thay đổi tập tin, ngày tháng thông báo commit liệu khác từ sở liệu Git mà không hiểu biết Git Không yêu cầu phần cứng mạnh Trong trường hợp CVCS, server trung tâm cần đủ mạnh để phục vụ yêu cầu tồn team Đối với team nhỏ, khơng phải vấn đề, kích thước team phát triển, hạn chế phần cứng server làm hiệu suất cơng việc thay đổi theo hướng tiêu cực Trong trường hợp DVCS, nhà phát triển không tương tác với server trừ họ cần công bố thay đổi thực Tất việc diễn client, phần cứng server thực vấn đề đơn giản Phân nhánh dễ dàng CVCS sử dụng kỹ thuật chép rẻ, tạo nhánh mới, chép tất code tới nhánh mới, tốn thời gian, khơng hiệu suất Ngồi ta, việc xóa sáp nhập http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/git/index.jsp Copyright © vietjack.com nhánh CVCS phức tạp tốn thời gian Nhưng quản lý nhánh với Git đơn giản Nó vài giây để tạo, xoa, nhập nhánh Các thuật ngữ DVCS Kho commit nội Mỗi công cụ VCS cung cấp nơi làm việc riêng làm việc Các nhà phát triển thực thay đổi nơi làm việc riêng sau commit họ, thay đổi trở thành phần kho Git có bước tiến xa cách cung cấp cho họ riêng toàn kho Người sử dụng thực nhiều thao tác với kho thêm, di chuyển, đổi tên file, commit thay đổi nhiều thao tác khác Thư mục làm việc Staging Index Thư mục làm việc nơi file kiểm tra Trong CVCS, nhà phát triển thường tạo thay đổi commit thay đổi họ cách trực tiếp tới kho chứa Nhưng Git sử dụng phương thức khác Git không theo dõi file sửa đổi Bất bạn thự commit thao tác, Git tìm kiếm file khu vực tổ chức (staging area) Chỉ file có mặt khu vực tổ chức xem xét để commit mà tất file sửa đổi Sau tiến trình làm việc Git: Bước : Bạn sửa đổi file từ thư mục làm việc Bước : Bạn thêm file vào khu vực tổ chức Bước : Bạn thực hoạt động commit mà di chuyển file từ khu vực tổ chức Sau thao tác đẩy (push), lưu thay đổi cố định tới kho chứa Git http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/git/index.jsp Copyright © vietjack.com Giả sử bạn sửa đổi file, tên sort.c search.c bạn muốn thực hai commit khác cho hoạt động Bạn thêm file vào khu vực tổ chức thực commit Sau hoạt động commit đầu tiên, làm lại theo phương thức tương tự cho file lại # First commit [bash]$ git add sort.c # adds file to the staging area [bash]$ git commit –m “Added sort operation” # Second commit [bash]$ git add search.c # adds file to the staging area [bash]$ git commit –m “Added search operation” Blobs Blob viết tắt Binary Large Object Mỗi phiên file đại diện blob Một blob chứa liệu file không chứa siêu liệu file Nó tập tin nhị phân, http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/git/index.jsp Copyright © vietjack.com sở liệu Git, đặt SHA1 hash file Trong Git, file khơng đặt tên Tất thứ đặt địa theo nội dung Cây - Trees Cây (Tree) đối tượng, mà biểu diễn thư mục Nó giữ blob thư mục phụ khác Một file nhị phân mà giữ thứ liên quan đến blob đặt tên SHA1 hash đối tượng Ký thác - Commits Hoạt động commit giữ trạng thái repository Một commit đặt tên SHA1 hash Bạn xem xét đối tượng commit nút danh sách liên kết Mỗi đối tượng commit có điểm trỏ tới đối tượng commit gốc Từ commit cho, bạn truy xét trở lại cách nhìn vào điểm trỏ gốc để xem lịch sử commit Nếu commit có nhiều commit gốc, commit cụ thể tạo cách sáp nhập hai nhánh Các nhánh - Branches Các nhánh sử dụng để tạo tuyến khác phát triển Theo mặc định, Git có nhánh chủ, mà tương tự thân (trunk) Subversion Thông thường, nhánh tạo để làm việc điểm Một điểm hồn thành, sáp nhập lại với nhánh chủ xóa nhánh Mỗi nhánh ám HEAD, mà điểm trỏ tới commit nhánh Bất bạn thực commit, HEAD cập nhật commit Thẻ - Tags Các thẻ tên có nghĩa với phiên xác định kho chứa Các thể tương tự nhánh, khác thẻ khơng thay đổi Nó có nghĩa là, thẻ nhánh, mà khơng có ý định sửa chúng Một thẻ tạo cho commit cụ thể, bạn tạo commit mới, khơng cập nhật Thơng thường, nhà phát triển tạo thẻ cho công bố sản phẩm Mô - Clone Hoạt động mô tạo repository Hoạt động không kiểm tra việc chép, mà phản ánh kho tồn repository Người sử dụng thực nhiều thao tác với repository nội Các mạng thời gian tham gia repository instance đồng http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/git/index.jsp Copyright © vietjack.com Pull Hoạt động pull chép thay đổi từ repository instance xa tới kho nội Hoạt động sử dụng để đồng hai repository instance Điều tương tự hoạt động cập nhật Subversion Push Thao tác đẩy (push) chép thay đổi từ repository nội tới kho xa Nó sử dụng để lưu thay đổi vĩnh viễn repository Git Nó tương tự hoạt động commit Subversion HEAD HEAD điểm trỏ, mà thường trỏ vào commit nhánh Bất bạn thực commit, HEAD cập nhật với commit Đầu nhánh lưu git/refs/heads/directory [CentOS]$ ls -1 git/refs/heads/ master [CentOS]$ cat git/refs/heads/master 570837e7d58fa4bccd86cb575d884502188b0c49 Revision Revision đại diện cho phiên mã nguồn Revision Git đại diện commit Những commit xác định SHA1 secure hash URL URL đại diện cho vị trí repository Git Git URL giữ tệp config [tom@CentOS tom_repo]$ pwd /home/tom/tom_repo [tom@CentOS tom_repo]$ cat git/config [core] repositoryformatversion = filemode = true bare = false logallrefupdates = true [remote "origin"] http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/git/index.jsp Copyright © vietjack.com url = gituser@git.server.com:project.git fetch = +refs/heads/*:refs/remotes/origin/* http://vietjack.com/ Trang chia sẻ học online miễn phí Page ...http://vietjack.com /git/ index.jsp Copyright © vietjack.com Các lợi Git Nguồn miễn phí mở Git cơng bố giấy phép nguồn mở GPL Nó có sẵn miễn phí mạng Bạn sử dụng Git để quản lý dự án thích... http://vietjack.com /git/ index.jsp Copyright © vietjack.com url = gituser @git. server.com:project .git fetch = +refs/heads/*:refs/remotes/origin/* http://vietjack.com/ Trang chia sẻ học online miễn phí Page... http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com /git/ index.jsp Copyright © vietjack.com sở liệu Git, đặt SHA1 hash file Trong Git, file không đặt tên Tất thứ đặt

Ngày đăng: 02/12/2017, 07:21

Từ khóa liên quan

Mục lục

  • Cơ bản về Git

    • VCS – hệ thống quản lý phiên bản

    • Hệ thống kiểm soát phiên bản phân phối

    • Các lợi thế của Git

      • Nguồn miễn phí và mở

      • Tốc độ nhanh và nhỏ gọn

      • Dự phòng (sao lưu) ẩn

      • An toàn cao

      • Không yêu cầu một phần cứng mạnh

      • Phân nhánh dễ dàng hơn

      • Các thuật ngữ của DVCS

        • Kho commit nội bộ

        • Thư mục làm việc và Staging hoặc Index

        • Blobs

        • Cây - Trees

        • Ký thác - Commits

        • Các nhánh - Branches

        • Thẻ - Tags

        • Mô phỏng - Clone

        • Pull

        • Push

        • HEAD

        • Revision

Tài liệu cùng người dùng

Tài liệu liên quan