git là gì?
git là một hệ thống kiểm soát phiên bản phân tán (distributed version control system-dvcs), là một trong những hệ thống kiểm soát phiên bản phân tán phổ biến nhất hiện nay. git cung cấp cho mỗi nhà phát triển kho lưu trữ riêng (kho) chứa toàn bộ lịch sử thay đổi.
hệ thống kiểm soát phiên bản – vcs là gì?
vcs là viết tắt của Hệ thống kiểm soát phiên bản là một hệ thống kiểm soát phiên bản phân tán mã nguồn mở. Vcs sẽ lưu trữ tất cả các tệp trong toàn bộ dự án và ghi lại lịch sử thay đổi của toàn bộ tệp. Mỗi thay đổi đã lưu sẽđi đến một phiên bản.
vcs đề cập đến một hệ thống cho phép các lập trình viên lưu trữ các phiên bản khác nhau của mã nguồn nhân bản (clone) từ một kho lưu trữ mã nguồn duy nhất (kho), mỗi phần nhỏ sẽ thay đổi thành mã nguồn cục bộ có thể được ủy quyền (cam kết), rồi tải lên máy chủ nơi đặt kho chính.
Nếu một máy tính khác có quyền truy cập, họ cũng có thể sao chép mã nguồn từ kho lưu trữ hoặc sao chép lại một tập hợp các thay đổi mới nhất trên một máy tính khác.
Lập trình viên có thể xem danh sách thay đổi tệp, giống như xem dòng thời gian của phiên bản. Mỗi phiên bản bao gồm: nội dung tệp bị thay đổi, ngày giờ sửa đổi, ai thay đổi, lý do thay đổi hoặc tên phiên bản…
>>> Tìm việc làm git lương cao tại topdev
vcs hoạt động như thế nào?
- Lưu giữ lịch sử phiên bản của bất kỳ thay đổi dự án nào. Giúp xem lại các thay đổi hoặc quay lại sau.
- Việc chia sẻ mã đã trở nên dễ dàng hơn, lập trình viên có thể công khai mã cho bất kỳ ai hoặc chỉ riêng tư cho những người được ủy quyền nhất định truy cập và lấy mã.
- Dễ sử dụng, nhanh, gọn, lẹ và rất an toàn.
- Dễ dàng kết hợp các nhánh, điều này có thể giúp quy trình viết mã của nhóm dễ dàng hơn.
- Chỉ cần sao chép mã nguồn từ kho lưu trữ, sao chép phiên bản đã thay đổi từ kho lưu trữ hoặc sao chép một nhánh từ kho lưu trữ và bạn có thể làm việc mọi lúc, mọi nơi.
- Việc triển khai sản phẩm của bạn không thể dễ dàng hơn thế.
-
bảng cheat git
Bạn không thể nhớ hết các lệnh, lúc này bạn nên sử dụng git cheat sheet để dễ dàng tìm kiếm các lệnh git mà bạn cần:
- https://rogerdudler.github.io/git-guide/
- https://git-scm.com/docs/gittutorial
- https://gitsheet.wtf/
- http://ndpsoftware.com/git-cheatsheet.html
- https://gitexplorer.com/
2. nên được gửi thường xuyên
Chia nhỏ các cam kết của bạn và cam kết thường xuyên nhất có thể. Điều này giúp các thành viên trong nhóm tích hợp công việc của họ dễ dàng hơn mà không gặp phải xung đột hợp nhất.
3. Kiểm tra và gửi
Không bao giờ cam kết cho đến khi quá trình hoàn tất. Kiểm tra các thay đổi của bạn trước khi chia sẻ chúng với người khác.
4. Viết ghi chú khi gửi
Viết ghi chú khi bạn cam kết cho các thành viên khác trong nhóm biết những thay đổi bạn đã thực hiện. Hãy mô tả càng nhiều càng tốt.
5. Kiểm tra nhánh khác
Sử dụng các nhánh để giúp bạn theo dõi các lộ trình phát triển khác nhau.
6. Thực hiện theo quy trình làm việc của git
Bạn nên chọn tuân theo quy trình làm việc của git để đảm bảo toàn bộ nhóm của bạn đều tuân theo.
Hy vọng bài viết này mang đến cho bạn nhiều thông tin hữu ích về git là gì? Và các lệnh git cơ bản mà mọi lập trình viên nên biết. blog topdev sẽ tổng hợp thêm nhiều kiến thức bổ ích cho bạn đọc. Mong các bạn sẽ luôn ủng hộ và yêu thương chúng tôi
Đừng quên tham khảo các thông tin tuyển dụng Thành phố Hồ Chí Minh, Hà Nội, Đà Nẵng hấp dẫn tại đây!
Đây là một vcs, và git ghi nhớ toàn bộ lịch sử thay đổi của mã nguồn trong dự án. Việc chỉnh sửa tệp theo chương trình, thêm dòng mã trong tệp, xóa dòng mã trong dòng tùy ý … đều được git ghi lại và lưu trữ.
git hoạt động như thế nào?
Sự khác biệt chính giữa git và bất kỳ vcs nào khác (kể cả subversion…) là cách git nhìn thấy dữ liệu của nó.
Về mặt khái niệm, hầu hết các hệ thống khác lưu trữ thông tin dưới dạng danh sách thay đổi dựa trên tệp. Các hệ thống này (cvs, subversion, perforce, bazaar, v.v.) xử lý thông tin mà chúng lưu trữ dưới dạng tập hợp các tệp và thực hiện các thay đổi đối với từng tệp theo thời gian.
git không xem xét hoặc lưu trữ dữ liệu của nó theo cách này. Thay vào đó, git coi thông tin được lưu trữ là một tập hợp các ảnh chụp nhanh—một ảnh chụp nhanh toàn bộ nội dung của tất cả các tệp tại một thời điểm nhất định.
Mỗi khi bạn “cam kết”, git “tìm nạp” và tạo ảnh chụp nhanh cũng như tham chiếu ảnh chụp nhanh đó. Để đạt hiệu quả, git sẽ không lưu trữ lại một tệp nếu nó không thay đổi — chỉ là một liên kết đến cùng một tệp mà nó đã lưu trữ trước đó. Đây là cách git xem xét dữ liệu của nó:
Đây là điểm khác biệt quan trọng giữa git và hầu hết các VC khác. Nó khiến git phải suy nghĩ lại về hầu hết mọi khía cạnh của việc kiểm soát phiên bản mà hầu hết các hệ thống khác đã sao chép từ các thế hệ trước. Điều này làm cho git giống như một hệ thống tệp nhỏ trên đó một số công cụ rất mạnh được xây dựng, thay vì chỉ là một vcs.
Lợi ích của git là gì?
Các dự án thực tế thường có nhiều lập trình viên làm việc song song. Do đó, cần có một hệ thống kiểm soát phiên bản như git để đảm bảo rằng không có xung đột mã giữa các lập trình viên.
Hơn nữa, yêu cầu của những dự án như vậy thay đổi thường xuyên. Vì vậy, các hệ thống kiểm soát phiên bản cho phép các nhà phát triển khôi phục và khôi phục các phiên bản mã cũ hơn.
Cuối cùng, nhiều dự án liên quan đến cùng một cơ sở mã đôi khi được chạy đồng thời. Trong trường hợp này, khái niệm về các nhánh trong git là rất quan trọng.
Các thuật ngữ git quan trọng
1. nhánh
Nhánh (nhánh) đại diện cho các phiên bản cụ thể của kho lưu trữ phân nhánh từ dự án chính của bạn.
nhánh cho phép bạn theo dõi các thay đổi thử nghiệm được thực hiện đối với kho lưu trữ của mình và có thể hoàn nguyên về phiên bản cũ hơn.
2. gửi
Một cam kết đại diện cho một điểm cụ thể trong lịch sử của dự án. Sử dụng lệnh cam kết kết hợp với lệnh git add để cho git biết những thay đổi bạn muốn lưu vào kho lưu trữ cục bộ của mình.
3. thanh toán
Sử dụng git checkout để chuyển đổi giữa các nhánh. Chỉ cần nhập git checkout theo sau là tên nhánh bạn muốn đến hoặc nhập git checkout master để quay lại nhánh chính.
4. Nhận
Lệnh git fetch nhận một bản sao và tải tất cả các tệp nhánh về máy tính của bạn. Sử dụng điều này để lưu các thay đổi mới nhất vào kho lưu trữ của bạn. Nó có thể tìm nạp nhiều nhánh cùng một lúc.
5. ngã ba
Một ngã ba là một bản sao của một kho lưu trữ. Các nhà phát triển thường sử dụng các nhánh để kiểm tra các thay đổi mà không ảnh hưởng đến dự án chính.
6. tiêu đề
Commit ở đầu nhánh được gọi là head. Nó đại diện cho cam kết mới nhất của kho lưu trữ mà bạn hiện đang làm việc.
7.Chỉ mục
Bất cứ khi nào bạn thêm, xóa hoặc thay đổi một tệp, tệp đó vẫn nằm trong chỉ mục cho đến khi bạn sẵn sàng thực hiện các thay đổi của mình. Nó giống như khu vực tổ chức của git. Sử dụng lệnh git status để xem nội dung của chỉ mục.
Dàn dựng là một bước trước khi cam kết trong git.
Một cam kết trong git được thực hiện theo hai bước: dàn dựng và cam kết thực tế. Miễn là các thay đổi nằm trong khu vực tổ chức, git cho phép bạn chỉnh sửa nó theo bất kỳ cách nào bạn muốn (thay thế tệp phân vùng bằng một phiên bản khác của tệp tổ chức, loại bỏ các thay đổi trong phân đoạn, v.v.)
Những thay đổi được đánh dấu bằng màu xanh lá cây đã sẵn sàng để thực hiện, trong khi những thay đổi được đánh dấu bằng màu đỏ thì không.
8.Thầy
master là nhánh chính của tất cả các kho lưu trữ. Nó nên bao gồm những thay đổi và cam kết gần đây.
9. Hợp nhất
Lệnh git merge, kết hợp với yêu cầu kéo, thêm các thay đổi từ nhánh này sang nhánh khác.
10. Xuất xứ
Origin là phiên bản mặc định của kho lưu trữ. nguồn gốc cũng hoạt động như một bí danh hệ thống để liên lạc với nhánh chính.
git push Origin master đẩy các thay đổi cục bộ vào nhánh chính.
11. Kéo
Yêu cầu kéo đại diện cho một thay đổi được đề xuất đối với nhánh chính. Nếu bạn làm việc với một nhóm, bạn có thể tạo một yêu cầu kéo để yêu cầu người bảo trì kho lưu trữ xem xét các thay đổi và hợp nhất chúng.
Lệnh git pull được sử dụng để thêm các thay đổi vào nhánh chính.
12. Đẩy
Lệnh git push được sử dụng để cập nhật nhánh từ xa với những thay đổi mới nhất mà bạn đã cam kết.
13. khởi nghĩa
Lệnh git rebase cho phép bạn tách, di chuyển hoặc xóa các lần xác nhận. Nó cũng có thể được sử dụng để kết hợp hai nhánh khác nhau.
14. từ xa
Điều khiển từ xa là bản sao của nhánh. Điều khiển từ xa giao tiếp ngược dòng với nhánh gốc của nó và với các điều khiển từ xa khác trong kho lưu trữ.
15. kho lưu trữ
Kho lưu trữ git chứa tất cả các tệp dự án của bạn, bao gồm các nhánh, thẻ và cam kết.
16. ẩn
Lệnh git stash loại bỏ các thay đổi trong chỉ mục và lưu trữ chúng sau.
Tính năng này rất hữu ích nếu bạn muốn tạm dừng công việc đang làm và tạm thời làm việc khác. Nhiều trình biến đổi không thể được lưu trữ cùng một lúc.
17. thẻ
Các thẻ
cung cấp cho bạn một cách để theo dõi các cam kết quan trọng. Các thẻ trọng lượng nhẹ chỉ hoạt động như các con trỏ, trong khi các thẻ chú thích được lưu trữ dưới dạng các đối tượng đầy đủ.
19. Ngược dòng
Trong ngữ cảnh của git, ngược dòng đề cập đến nơi các thay đổi được đẩy tới, thường là nhánh chính.
Xem tài liệu tham khảo về git để biết thêm chi tiết về các điều khoản liên quan đến git.
Các lệnh git cơ bản
1) cấu hình git
Chức năng: Đặt tên người dùng và email của bạn trong tệp cấu hình chính. Cách sử dụng: Để kiểm tra tên email và nhập cấu hình, hãy sử dụng git config global user.name và git config – global user.email. Đặt email hoặc tên mới /p>
2) Khởi tạo
Vai trò: Tạo dự án mới hoặc dự án hiện có trong kho lưu trữ git.
Cách sử dụng: git init
trong thư mục gốc của dự án
3) Nhân bản
Tác dụng: Sao chép 1 kho lưu trữ git từ nguồn từ xa.
Cách sử dụng: git clone
4) Trạng thái Git
Chức năng: Kiểm tra trạng thái của các tệp bạn đã sửa đổi trong thư mục làm việc. Ví dụ: tất cả các thay đổi mới nhất kể từ lần xác nhận cuối cùng.
Cách sử dụng: git status trong thư mục làm việc.
5) git add
Tác dụng: Thêm các thay đổi vào giai đoạn/chỉ mục trong thư mục làm việc.
Cách sử dụng: git add
6) Gửi
hiệu ứng: cam kết đề cập đến hành động git lưu ảnh chụp nhanh các thay đổi của thư mục làm việc. Và các tệp và thư mục đã thay đổi phải nằm trong khu vực tổ chức. Mỗi cam kết lưu lịch sử chỉnh sửa của mã cùng với tên và địa chỉ email của người cam kết. Ngoài ra, trong git, bạn có thể khôi phục các tệp trong lịch sử cam kết của nó để phân nhánh sang nhánh khác, vì vậy bạn có thể dễ dàng khôi phục các thay đổi trước đó.
Cách sử dụng: git commit -m ”đây là thông báo, bạn dùng nó ghi chú các thay đổi để dễ truy ngược lại”
7) git đẩy/git kéo
Vai trò: Đẩy hoặc kéo các thay đổi đối với điều khiển từ xa. Nếu bạn đã thêm và cam kết thay đổi và bạn muốn đẩy nó hoặc điều khiển từ xa của bạn được cập nhật và bạn áp dụng tất cả những thay đổi đó cho mã của mình.
Cách sử dụng: git pull <:branch:> và git push <:remote:>
8) nhánh git
Vai trò: Liệt kê tất cả các nhánh.
Cách sử dụng: git branch hoặc git branch -a
9) Thanh toán
Vai trò: chuyển sang chi nhánh khác
Cách sử dụng: git checkout <: branch:> hoặc ** _ git checkout -b <: branch:> nếu bạn muốn tạo và di chuyển đến một chi nhánh mới.
10) bộ nhớ git
Hiệu ứng: Lưu các thay đổi mà bạn không muốn thực hiện ngay.
Cách sử dụng: git stash trong thư mục làm việc của bạn.
11) Hợp nhất
Tác dụng: Hợp nhất 2 nhánh thành nahu.
Cách sử dụng: Đi đến nhánh cần hợp nhất, sau đó sử dụng git merge <:branch_ban_muon_merge:>
12) đặt lại git
Hiệu ứng: Bạn đã bao gồm một tệp trong khu vực tổ chức, nhưng bây giờ bạn muốn xóa nó khỏi đó, vì vậy bạn không phải cam kết nó.
Cách sử dụng: git reset head_filename
13) git remote
Tác dụng: kiểm tra xem bạn có nguồn/điều khiển từ xa nào hoặc bổ sung thêm
Cách sử dụng: git remote kiểm tra và liệt kê. và git remote add <:remote_url:> để thêm.
14) git add
Chức năng: Đưa tệp vào vùng lưu trữ tạm thời
Cách sử dụng: git add name_file hoặc nếu muốn add tất cả các file của 1 thư mục thì git add all