Logo Zephyrnet

10 kỹ thuật Git bạn cần biết trước khi tham gia nhóm

Ngày:

Bạn đã sử dụng Git một thời gian nhưng chưa bao giờ sử dụng trong môi trường nhóm? Bạn có quen với những điều cơ bản về Git nhưng không chắc các nhóm lớn sử dụng Git tại nơi làm việc như thế nào?

Trong bài đăng này, tôi sẽ nói về các kỹ thuật Git cơ bản mà bạn phải làm quen trước khi tham gia một nhóm. Tôi đã liệt kê chúng theo thứ tự mà bạn có thể tuân theo một cách hợp lý để đóng góp cho kho lưu trữ vì tầm quan trọng của mỗi bước là điều tối quan trọng. Bây giờ chúng ta hãy nhảy vào danh sách.

1. Nhân bản: Bắt đầu trong một nhóm

Nếu bạn đã sử dụng Git cho các dự án cá nhân, bạn có thể chỉ khởi tạo một dự án từ đầu và thêm vào dự án đó theo thời gian. Khi bạn đang làm việc trên một cơ sở mã hiện có, bước đầu tiên là sao chép cơ sở mã đó vào hệ thống cục bộ của bạn. Điều này cho phép bạn làm việc trên bản sao kho lưu trữ của mình mà không có bất kỳ sự can thiệp nào từ những thay đổi khác.

Để sao chép một kho lưu trữ, hãy chạy git clone lệnh, theo sau là đường dẫn đến kho lưu trữ:

git clone /path/to/repo

Nếu nguồn của bạn không nằm trong cùng một hệ thống, bạn cũng có thể SSH tới một hệ thống từ xa và sao chép:

git clone username@remote_system_ip:/path/to/repo/on/remote

Nếu bạn đang sao chép từ một nguồn trên Internet, bạn chỉ cần thêm URL:

git clone https://github.com/sdaityari/my_git_project.git

Bất cứ khi nào bạn nhân bản một kho lưu trữ, bạn sự lựa chọn của nhiều giao thức để kết nối với nguồn. Trong ví dụ GitHub ở trên, tôi đã sử dụng https giao thức.

2. Quản lý điều khiển từ xa trong Git

Khi bạn đã sao chép kho lưu trữ của mình, nó vẫn duy trì một con trỏ tới nguồn. Con trỏ này là một ví dụ về điều khiển từ xa trong Git. Điều khiển từ xa là con trỏ tới bản sao khác của cùng một kho lưu trữ. Khi bạn sao chép một kho lưu trữ, một con trỏ origin được tạo tự động để trỏ đến nguồn.

Bạn có thể kiểm tra danh sách các điều khiển từ xa trong kho lưu trữ bằng cách chạy lệnh sau:

git remove -v

Để thêm điều khiển từ xa, bạn có thể sử dụng git remote add chỉ huy:

git remote add remote_name remote_address

Bạn có thể tháo điều khiển từ xa bằng cách sử dụng git remote remove chỉ huy:

git remote remove remote_name

Nếu bạn muốn thay đổi địa chỉ của một điều khiển từ xa, bạn có thể sử dụng set-url chỉ huy:

git remote set-url remote_name new_remote_address

3. Phân nhánh trong Git

Ưu điểm lớn nhất của Git so với các hệ thống kiểm soát phiên bản khác là sức mạnh của các nhánh của nó. Trước khi tôi đi vào những điều cơ bản của việc phân nhánh, bạn có thể tự hỏi chi nhánh là gì. Một nhánh là một con trỏ tới một cam kết trong kho lưu trữ của bạn, từ đó trỏ đến tiền thân của nó. Do đó, một nhánh đại diện cho một danh sách các cam kết theo thứ tự thời gian. Khi bạn tạo một nhánh, bạn chỉ tạo một con trỏ mới cho một cam kết một cách hiệu quả. Tuy nhiên, về bản chất, nó thể hiện một con đường phát triển mới, độc lập.

Nếu bạn đang thực hiện dự án của riêng mình, có thể bạn chưa bao giờ sử dụng các nhánh một cách có ý thức. Theo mặc định, Git sử dụng master nhánh để phát triển. Mọi cam kết mới đều được thêm vào nhánh này.

Việc phân nhánh là cần thiết để Git phân chia các dòng công việc trong một dự án. Tại một thời điểm, có thể có nhiều nhà phát triển đang giải quyết nhiều vấn đề khác nhau. Lý tưởng nhất là những vấn đề này được giải quyết ở các nhánh khác nhau để đảm bảo phân tách hợp lý mã mới cho đến khi xem xét và hợp nhất mã.

Để kiểm tra danh sách các nhánh và nhánh đang hoạt động hiện tại, hãy chạy lệnh sau:

git branch

Để tạo một nhánh mới, hãy chạy lệnh sau:

git branch new_branch

Mặc dù Git tạo một nhánh mới, hãy lưu ý rằng nhánh đang hoạt động của bạn vẫn là nhánh cũ. Để bắt đầu phát triển ở một nhánh mới, hãy chạy như sau:

git checkout new_branch

Để tạo một nhánh mới và thay đổi nhánh đang hoạt động, hãy chạy lệnh sau:

git checkout -b new_branch

Để đổi tên nhánh hiện tại, hãy chạy lệnh sau:

git branch -m new_renamed_branch

Sử dụng -D tùy chọn để loại bỏ một nhánh:

git branch -D new_renamed_branch

Đây là hướng dẫn chi tiết về phân nhánh trong Git.

4. Cập nhật Kho lưu trữ cục bộ của bạn: Hợp nhất

Mặc dù chúng tôi đã kiểm tra các kiến ​​thức cơ bản về phân nhánh trong Git, bước hợp lý tiếp theo là hợp nhất một nhánh vào nhánh cơ sở khi bạn giải quyết xong một vấn đề. Để hợp nhất một nhánh, hãy chạy lệnh sau:

git checkout base_branch
git merge new_branch

Mặc dù nghe có vẻ là một quá trình dễ dàng nhưng việc hợp nhất có thể là quá trình tốn nhiều thời gian nhất trong Git vì nó có thể làm phát sinh xung đột.

5. Xử lý xung đột

Hãy tưởng tượng rằng bạn đang làm việc trên một tệp trong một nhánh mới. Sau khi bạn thực hiện các thay đổi, bạn yêu cầu Git hợp nhất nhánh mới với nhánh cơ sở của bạn. Tuy nhiên, phần tương tự của cùng một tệp trong nhánh cơ sở đã được cập nhật kể từ khi bạn tạo nhánh mới. Làm thế nào Git quyết định những thay đổi nào cần giữ và những thay đổi nào cần loại bỏ?

Git luôn cố gắng không làm mất bất kỳ dữ liệu nào trong quá trình hợp nhất. Nếu các thay đổi đối với cùng một tệp được thực hiện ở các phần khác nhau của tệp, bạn có thể thoát khỏi bằng cách giữ cả hai bộ thay đổi. Tuy nhiên, nếu Git không thể quyết định nên giữ lại những thay đổi nào thì điều đó sẽ gây ra xung đột.

Khi một xung đột đã được nêu ra, chạy git status trên kho lưu trữ của bạn hiển thị danh sách các tệp đã được sửa đổi ở cả hai nhánh đang được hợp nhất. Nếu bạn mở bất kỳ tệp nào có xung đột, bạn sẽ nhận thấy nhóm dòng sau:

<<<<<<<< HEAD
...
...
========
...
...
>>>>>>>> new_branch

Phần của tập tin giữa <<<<<<<< HEAD======== chứa mã đó có trong nhánh cơ sở. Các dòng mã giữa ========>>>>>>>> new_branch có mặt trong new_branch chi nhánh. Nhà phát triển hợp nhất mã có trách nhiệm quyết định phần nào của mã (hoặc kết hợp cả hai phần) sẽ được đưa vào hợp nhất. Sau khi chỉnh sửa, hãy xóa ba bộ dòng được hiển thị, lưu tệp và thực hiện các thay đổi.

6. Đồng bộ hóa các thay đổi với Remote

Mặc dù chúng ta đã thảo luận về cách chuyển mã trong các nhánh mới và hợp nhất nó với nhánh cơ sở, bây giờ hãy xem cách bạn có thể đồng bộ hóa mã với điều khiển từ xa. Trước khi có thể xuất bản các thay đổi của mình lên điều khiển từ xa, bạn cần cập nhật bản sao cục bộ của kho lưu trữ để giải quyết mọi thay đổi có thể xảy ra kể từ lần cập nhật cuối cùng của bạn. Để cập nhật các thay đổi từ xa, hãy chạy lệnh sau:

git pull remote remote_branch:local_branch

Sản phẩm git pull lệnh đầu tiên tải xuống dữ liệu từ xa và sau đó hợp nhất với nhánh cục bộ như được chỉ định trong lệnh. Xung đột cũng có thể phát sinh khi thực hiện các thay đổi từ xa. Trong trường hợp như vậy, dòng cuối cùng trong tệp xung đột sẽ chứa >>>>>>>> commit_hash thay vì >>>>>>>> new_branch, Nơi commit_hash sẽ là hàm băm xác định cho cam kết được thêm vào nhánh của bạn.

Để xuất bản các thay đổi đối với điều khiển từ xa sau khi hợp nhất với mã mới nhất từ ​​​​điều khiển từ xa, hãy sử dụng git push chỉ huy:

git push remote local_branch:remote_branch

7. Git trên đám mây: Phân nhánh

Nếu nhóm của bạn làm việc trên đám mây, bạn sẽ được giới thiệu một khái niệm bổ sung được gọi là fork. Phân nhánh là bản sao của kho lưu trữ trung tâm của đám mây dưới tên người dùng của bạn. Bạn có quyền ghi vào nhánh của mình, đây là nơi an toàn để bạn thực hiện các thay đổi mà không ảnh hưởng đến kho lưu trữ ban đầu.

Điều này ảnh hưởng đến chính bước kỹ thuật mà tôi đã đề cập ở trên. Bạn sao chép cái nĩa của mình, vì vậy origin kho lưu trữ cục bộ của bạn trỏ tới nhánh phân nhánh của bạn trên đám mây. Làm thế nào để bạn nhận được các bản cập nhật từ kho lưu trữ mới nhất? Bạn cần thêm điều khiển từ xa theo cách thủ công, upstream, trỏ đến kho lưu trữ ban đầu.

Mặc dù bạn có thể dễ dàng xuất bản các thay đổi đối với nhánh phân nhánh của mình, nhưng làm cách nào để mã mới được chấp nhận vào kho lưu trữ ban đầu? Điều đó đưa chúng ta đến bước tiếp theo.

8. Đánh giá mã thông qua yêu cầu kéo

Yêu cầu kéo là yêu cầu hợp nhất mã từ nhánh này sang nhánh khác. Đó là một khái niệm đã phát triển kể từ khi dịch vụ đám mây cho Git trở nên phổ biến. Yêu cầu kéo tóm tắt sự so sánh giữa hai nhánh được đề cập và bắt đầu cuộc thảo luận giữa nhà phát triển và quản trị viên của tổ chức.

Cuộc trò chuyện trên GitHub

Quá trình xem xét mã có thể dẫn đến nhiều thay đổi hơn trước khi có thể hợp nhất. Khi quản trị viên hài lòng với những thay đổi, nó có thể được hợp nhất với kho lưu trữ.

9. Biết về quy trình làm việc của Git

Khi bạn đang làm việc một mình trên một dự án, có thể bạn chỉ sử dụng một nhánh duy nhất. Vô tình, bạn đang tuân theo quy trình làm việc tập trung hoặc trung kế, nơi tất cả các thay đổi được thực hiện cho một nhánh duy nhất.

Quy trình làm việc tiếp theo, phức tạp hơn là quy trình làm việc của nhánh tính năng, trong đó một nhánh duy nhất được quy cho mỗi tính năng hoặc sửa lỗi. Không có sự phát triển nào xảy ra trực tiếp trên master or development chi nhánh.

Một quy trình làm việc Git bao gồm nhiều tình huống khác nhau quy trình làm việc của Gitflow. Nó có các nhánh riêng biệt để phát triển, tính năng, phát hành và sửa lỗi.

Đây là hướng dẫn chi tiết về Quy trình công việc Git.

10. Xử lý các tệp lớn: Git LFS

Mặc dù Git thực hiện rất tốt việc xử lý các tệp văn bản nhưng nó không thể theo dõi các thay đổi trong tệp nhị phân và tệp thực thi. Mặc dù bạn có thể thêm các tệp như vậy vào Git, nhưng nó có thể dẫn đến kích thước kho lưu trữ lớn với số lượng cam kết tăng lên.

Giải pháp là sử dụng Bộ nhớ tệp lớn Git, xử lý các tệp nhị phân lớn thông qua Git. Công cụ này lưu trữ các tệp này trên đám mây và thay thế chúng bằng con trỏ văn bản. Đây là một triển khai của sử dụng Git LFS để theo dõi các tệp thiết kế Photoshop.

Đọc thêm

Trong bài đăng này, tôi đã nói về nhiều kỹ thuật Git khác nhau có thể giúp ích cho bạn khi tham gia nhóm lần đầu tiên. Tôi hy vọng nó sẽ giúp ích cho bạn trong quá trình chuẩn bị cho tương lai. Tôi có bỏ lỡ điều gì không? Hãy cho tôi biết trên Twitter!

Để hiểu sâu hơn về Git, hãy xem các tài nguyên sau:

  • Khởi động Git: Hướng dẫn ngắn gọn sẽ giúp bạn tăng tốc chỉ trong một ngày cuối tuần.
  • Git chuyên nghiệp: Tìm hiểu sâu hơn sẽ đưa bạn đến con đường thành thạo Git.

Nguồn: https://www.sitepoint.com/git-techniques-to-know-b Before-you-join-a-team/?utm_source=rss

tại chỗ_img

Tin tức mới nhất

tại chỗ_img