Git Cheat Sheet - Học Git Một Cách Dễ Dàng

Git là hệ thống kiểm soát phiên bản phân tán mã nguồn mở, hỗ trợ các hoạt động GitHub trên máy tính xách tay hoặc máy tính để bàn của bạn. Tài liệu này tóm tắt các lệnh dòng lệnh Git thường dùng để tham khảo nhanh.

Cài đặt

  • GitHub cho Windows: https://windows.github.com
  • GitHub cho Mac: https://mac.github.com
  • Git cho mọi nền tảng bản phân phối Git cho Linux và hệ thống POSIX có sẵn trên trang web Git SCM chính thức. Tạo kho lưu trữ : http://git-scm.com

    Các bản phân phối Git cho Linux và hệ thống POSIX có sẵn trên trang web Git SCM chính thức.

Tạo kho lưu trữ

Khi bắt đầu với một kho lưu trữ mới, bạn chỉ cần thực hiện một lần; cục bộ, sau đó đẩy lên GitHub, hoặc bằng cách nhân bản một kho lưu trữ hiện có.

Lệnh: git init

Mô tả: Biến một thư mục hiện có thành một kho lưu trữ git

Lệnh: git clone [url]

Mô tả: Nhân bản (tải xuống) một kho lưu trữ đã tồn tại trên GitHub, bao gồm tất cả các tệp, nhánh và commit

Cấu hình công cụ

Cấu hình thông tin người dùng cho tất cả các kho lưu trữ cục bộ

Lệnh: git config --global user.name "[tên]"

Mô tả: Đặt tên bạn muốn gắn với các giao dịch commit của mình

Lệnh: git config --global user.email "[địa chỉ email]"

Mô tả: Đặt email bạn muốn gắn với các giao dịch commit của mình

Lệnh: git config --global color.ui auto

Mô tả: Bật màu sắc hữu ích của đầu ra dòng lệnh

Nhánh

Nhánh là một phần quan trọng của làm việc với Git. Bất kỳ commit nào bạn thực hiện sẽ được thực hiện trên nhánh mà bạn hiện đang "checkout". Sử dụng git status để xem đó là nhánh nào.

Lệnh: git branch [tên-nhánh]

Mô tả: Tạo một nhánh mới

Lệnh: git checkout [tên-nhánh]

Mô tả: Chuyển sang nhánh được chỉ định và cập nhật thư mục làm việc

Lệnh: git merge [nhánh] 

Mô tả: Kết hợp lịch sử của nhánh được chỉ định vào nhánh hiện tại. Điều này thường được thực hiện trong các yêu cầu kéo, nhưng là một thao tác Git quan trọng.

Lệnh: git branch -d [tên-nhánh]

Mô tả: Xóa nhánh được chỉ định

Tệp .gitignore

Đôi khi, có thể nên loại trừ các tệp khỏi bị theo dõi bằng Git. Điều này thường được thực hiện trong một tệp đặc biệt có tên là .gitignore. Bạn có thể tìm thấy các mẫu hữu ích cho tệp .gitignore tại github.com/github/gitignore.

Đồng bộ hóa các thay đổi

Đồng bộ hóa kho lưu trữ cục bộ của bạn với kho lưu trữ từ xa trên GitHub.com

Lệnh: git fetch

Mô tả: Tải xuống tất cả lịch sử từ các nhánh theo dõi từ xa

Lệnh: git merge

Mô tả: Kết hợp nhánh theo dõi từ xa vào nhánh cục bộ hiện tại

Lệnh: git push

Mô tả: Tải lên tất cả các commit nhánh cục bộ lên GitHub

Lệnh: git pull

Mô tả: Cập nhật nhánh làm việc cục bộ hiện tại của bạn với tất cả các commit mới từ nhánh từ xa tương ứng trên GitHub. git pull là sự kết hợp của git fetchgit merge

Thực hiện thay đổi

Duyệt và kiểm tra sự phát triển của các tệp dự án

Lệnh: git log

Mô tả: Liệt kê lịch sử phiên bản cho nhánh hiện tại

Lệnh: git log --follow [tệp]

Mô tả: Liệt kê lịch sử phiên bản cho một tệp, bao gồm cả việc đổi tên

Lệnh: git diff [nhánh-đầu]... [nhánh-cuối]

Mô tả: Hiển thị sự khác biệt về nội dung giữa hai nhánh

Lệnh: git show [commit]

Mô tả: Xuất dữ liệu meta và các thay đổi nội dung của commit được chỉ định

Lệnh: git add [tệp]

Mô tả: Chụp nhanh tệp để chuẩn bị cho việc quản lý phiên bản

Lệnh: git commit -m "[thông điệp mô tả]"

Mô tả: Ghi lại các ảnh chụp tệp vĩnh viễn trong lịch sử phiên bản

Hoàn tác commit

Xóa lỗi và tạo lịch sử thay thế

Lệnh: git reset [commit]

Mô tả: Hoàn tác tất cả các commit sau [commit], giữ lại các thay đổi cục bộ

Lệnh: git reset --hard [commit]

Mô tả: Loại bỏ tất cả lịch sử và thay đổi trở lại commit được chỉ định

CẢNH BÁO! Thay đổi lịch sử có thể có những tác dụng phụ khó chịu. Nếu bạn cần thay đổi các commit tồn tại trên GitHub (từ xa), hãy tiến hành thận trọng. Nếu bạn cần trợ giúp, hãy liên hệ tại github.community hoặc liên hệ với bộ phận hỗ trợ.

Quy trình làm việc GitHub

GitHub Flow
Github Flow

Thuật ngữ

git một hệ thống kiểm soát phiên bản phân tán mã nguồn mở

GitHub một nền tảng để lưu trữ và cộng tác trên các kho lưu trữ Git

commit một đối tượng Git, một ảnh chụp nhanh của toàn bộ kho lưu trữ của bạn được nén thành một SHA

branch một con trỏ nhẹ có thể di chuyển đến một commit

clone một phiên bản cục bộ của một kho lưu trữ, bao gồm tất cả các commit và branch (nhánh)

remote một kho lưu trữ chung trên GitHub mà tất cả các thành viên nhóm sử dụng để trao đổi các thay đổi của họ

fork một bản sao của một kho lưu trữ trên GitHub thuộc sở hữu của một người dùng khác

pull request một nơi để so sánh và thảo luận về những khác biệt được giới thiệu trên một nhánh với các đánh giá, nhận xét, kiểm tra tích hợp và hơn thế nữa

HEAD đại diện cho thư mục làm việc hiện tại của bạn, con trỏ HEAD có thể được di chuyển đến các nhánh, thẻ hoặc commit khác nhau khi sử dụng git checkout

Github cheat sheets

Nhận xét

Mới hơn Cũ hơn