Cách hiểu Git: phần giới thiệu về các lệnh, mẹo và thủ thuật cơ bản

Gần đây tôi đã trở thành người cố vấn cho một đồng nghiệp của tôi. Và người cố vấn của tôi đã hỏi tôi về Git nhiều lần. Đây là cho bạn đồng nghiệp! Tái bút Tôi đáng lẽ đã viết bài này khi chúng ta bắt đầu nhưng tôi hy vọng nó sẽ giúp ích ngay bây giờ!

Và hãy nhớ rằng: Cách tốt nhất để học bất cứ điều gì là tự mình làm điều đó! Và như người cố vấn của tôi luôn nói với tôi: Udaraj!

Khái niệm cơ bản

Vậy tại sao Git lại quan trọng như vậy?

Trước tiên, hãy bắt đầu bằng cách trích dẫn dòng đầu tiên trên trang Wikipedia của Git:

Git ( / ɡɪt / ) là một hệ thống kiểm soát phiên bản để theo dõi các thay đổi trong tệp máy tính và điều phối công việc trên các tệp đó giữa nhiều người.

Vì vậy, điều đó có nghĩa là chức năng cơ bản và quan trọng nhất của Git là cho phép các nhóm thêm (và hợp nhất) mã cùng một lúc vào cùng một dự án. Bằng cách thêm khả năng này vào các dự án, nó làm cho các nhóm hoạt động hiệu quả hơn và mang lại cho họ khả năng làm việc trên các dự án lớn hơn và các vấn đề phức tạp hơn.

Ngoài ra còn có nhiều thứ khác mà Git thực sự làm rất tốt: nó cho phép chúng ta hoàn nguyên các thay đổi, tạo các nhánh mới để thêm các tính năng mới, giải quyết xung đột hợp nhất, v.v.

Git hoạt động như thế nào

Git lưu trữ các dự án trong kho . Các cam kết được thực hiện cho dự án và họ cho Git biết rằng bạn hài lòng với mã mới hoặc mã đã thay đổi mà bạn đã tạo.

Mã mới / thay đổi được cam kết trên các chi nhánh. Hầu hết công việc được cam kết trên các nhánh khác và sau đó được hợp nhất với nhánh chủ. Tất cả điều này được lưu trữ trong cùng một thư mục với dự án nhưng trong một thư mục con có tên .git .

Để chia sẻ mã với đồng nghiệp của bạn, bạn đẩy các thay đổi vào kho lưu trữ. Để nhận mã mới từ đồng nghiệp của bạn, bạn kéo các thay đổi từ kho lưu trữ.

Vậy thì GitHub, GitLab và Bitbucket là gì?

Vâng, tôi rất vui vì bạn đã hỏi! Những loại ứng dụng này được gọi là dịch vụ quản lý kho lưu trữ. Chúng đóng một vai trò quan trọng trong phát triển phần mềm hiện đại.

Mặc dù Git và GitHub là giải pháp kiểm soát phiên bản dành cho hầu hết các công ty, nhưng GitHub có một số đối thủ cạnh tranh mạnh như GitLab và Bitbucket. Tuy nhiên, nếu bạn biết cách sử dụng GitHub, bạn sẽ không gặp bất kỳ vấn đề gì khi làm việc với GitLab hoặc Bitbucket.

Vì vậy, cần phải nói rõ: Git là công cụ và GitHub là dịch vụ dành cho các dự án sử dụng Git.

Tôi có thể khám phá các dự án thú vị và kết nối với các nhà phát triển khác ở đâu?

GitHub, GitLab và Bitbucket có các tùy chọn tìm kiếm kho lưu trữ công khai và khả năng dễ dàng theo dõi người dùng khác.

Bây giờ bạn có thể thấy tại sao việc biết Git và Github (GitLab / Bitbucket) lại quan trọng không? Điều duy nhất còn lại trước khi nói về các lệnh là cho bạn biết một số quy tắc đơn giản để luôn tuân theo khi sử dụng Git:

  • Quy tắc 1: Tạo kho lưu trữ Git cho mọi dự án mới
  • Quy tắc 2: Tạo một nhánh mới cho mọi tính năng mới

Lệnh

Để bắt đầu với Git, bạn phải có nó trên máy tính của mình. Nếu bạn chưa có nó, bạn có thể vào đây và làm theo hướng dẫn.

Khởi tạo kho lưu trữ Git mới: Git init

Mọi thứ bạn viết mã đều được theo dõi trong kho lưu trữ. Để khởi tạo kho lưu trữ git, hãy sử dụng lệnh này khi ở bên trong thư mục dự án. Thao tác này sẽ tạo một thư mục .git.

git init

Git thêm

Lệnh này thêm một hoặc tất cả các tệp đã thay đổi vào vùng dàn.

Để chỉ thêm một tệp cụ thể vào dàn:

git add filename.py

Để phân chia các tệp mới, đã sửa đổi hoặc đã xóa:

git add -A

Để tạo các tệp mới và sửa đổi:

git add .

Để xếp các tệp đã sửa đổi và xóa:

git add -u

Git cam kết

Lệnh này ghi lại tệp trong lịch sử phiên bản. -M có nghĩa là một thông báo cam kết theo sau. Thông báo này là một thông báo tùy chỉnh và bạn nên sử dụng nó để cho đồng nghiệp hoặc tương lai của bạn biết những gì đã được thêm vào trong cam kết đó.

git commit -m "your text"

Trạng thái Git

Lệnh này sẽ liệt kê các tệp có màu xanh lục hoặc đỏ. Các tệp màu xanh lá cây đã được thêm vào vùng hiển thị nhưng chưa được cam kết. Các tệp được đánh dấu là màu đỏ là những tệp chưa được thêm vào vùng hiển thị.

git status

Làm việc với các chi nhánh

Git branch branch_name

Thao tác này sẽ tạo một nhánh mới:

git branch branch_name

Git checkout branch_name

Để chuyển từ nhánh này sang nhánh khác:

git checkout branch_name

Git checkout -b branch_name

Để tạo một nhánh mới và tự động chuyển sang nhánh đó:

git checkout -b branch_name

Đây là viết tắt của:

git branch branch_name git checkout branch_name

Chi nhánh Git

Để liệt kê tất cả các chi nhánh và xem bạn hiện đang ở chi nhánh nào:

git branch

Nhật ký git

Lệnh này sẽ liệt kê lịch sử phiên bản cho nhánh hiện tại:

git log

Đẩy & Kéo

Git đẩy

Lệnh này gửi các thay đổi đã cam kết đến một kho lưu trữ từ xa:

git push

Git kéo

Để kéo các thay đổi từ máy chủ từ xa sang máy tính cục bộ của bạn:

git pull

Để biết thêm các lệnh và giải thích chi tiết về những lệnh được liệt kê, tôi khuyên bạn nên xem tài liệu chính thức của Git.

Mẹo & Thủ thuật

Bỏ tất cả các thay đổi chưa cam kết của bạn

Đúng như nó nói, lệnh này sẽ loại bỏ tất cả các thay đổi chưa cam kết của bạn:

git reset --hard

Xóa tệp khỏi git mà không xóa khỏi máy tính của bạn

Đôi khi, khi sử dụng lệnh “git add”, bạn có thể kết thúc việc thêm các tệp mà bạn không muốn thêm.

Nếu bạn không cẩn thận trong khi "thêm git", bạn có thể thêm các tệp mà bạn không muốn cam kết. Bạn nên xóa phiên bản theo giai đoạn của tệp, sau đó thêm tệp vào .gitignore để tránh mắc lỗi tương tự lần thứ hai:

git reset file_name echo filename >> .gitignore

Chỉnh sửa thông báo cam kết

Rất dễ dàng để sửa một thông báo cam kết:

git commit --amend -m "New message"

Cảm ơn bạn đã đọc! Xem thêm các bài viết như thế này trên hồ sơ freeCodeCamp của tôi: //www.freecodecamp.org/news/author/goran/ và các nội dung thú vị khác mà tôi xây dựng trên trang GitHub của mình: //github.com/GoranAviani