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

[ad_1]

        

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

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 nhóm. Tôi đã liệt kê chúng theo thứ tự mà bạn theo dõi một cách hợp lý để đóng góp vào kho lưu trữ, vì tầm quan trọng của từng bước là tối quan trọng. Hãy để ngay bây giờ nhảy vào danh sách.

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

Nếu bạn đã sử dụng Git cho các dự án cá nhân, bạn chỉ có thể khởi tạo một dự án từ đầu và thêm vào đó theo thời gian. Khi bạn 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 của kho lưu trữ mà không có bất kỳ sự can thiệp nào từ các thay đổi khác.

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

  git clone / đường dẫn / đến / repo
 

Nếu nguồn của bạn không cư trú trong cùng một hệ thống, bạn có thể SSH đến một hệ thống từ xa và sao chép quá:

  git clone tên người dùng @ remote_system_ip: / path / to / repo / on / remote
 

Nếu bạn 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 sao chép một kho lưu trữ, bạn sẽ chọn nhiều giao thức để kết nối với nguồn. Trong ví dụ về GitHub ở trên, tôi đã sử dụng giao thức https .

2. Quản lý từ xa trong Git

Khi bạn đã nhân bản 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ề một điều khiển từ xa trong Git. Một điều khiển từ xa là một con trỏ đến một 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 sẽ tự động được tạo để 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 xóa -v
 

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

  git từ xa thêm remote_name remote_address
 

Bạn có thể xóa một điều khiển từ xa bằng cách sử dụng lệnh git remote remove :

  git từ xa xóa 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 lệnh set-url :

  git từ xa 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 chi nhánh. Trước khi tôi nhảy vào các yếu tố cần thiết của việc phân nhánh, bạn có thể tự hỏi một 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, lần lượt nó 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 thực sự chỉ tạo một con trỏ mới cho một cam kết. Tuy nhiên, về bản chất, nó đại diện cho một con đường phát triển độc lập mới.

Nếu bạn đã làm việc trong dự án của riêng mình, bạn có thể không bao giờ sử dụng các nhánh có ý thức. Theo mặc định, Git sử dụng nhánh master để phát triển. Bất kỳ cam kết mới nào cũng được thêm vào chi 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 làm việc với nhiều vấn đề khác nhau. Lý tưởng nhất là các vấn đề này được giải quyết trong 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 hoạt động hiện tại, hãy chạy lệnh sau:

  chi nhánh git
 

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

  chi nhánh git new_branch
 

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

  git thanh toán new_branch
 

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

  thanh toán git -b new_branch
 

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

  chi nhánh git -m new_renamed_branch
 

Sử dụng tùy chọn -D để xóa một nhánh:

  chi nhánh git -D new_renamed_branch
 

Ở đây, một 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: Sáp nhập

Trong khi chúng tôi đã kiểm tra các vấn đề 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ở của bạn khi bạn đã hoàn thành một vấn đề. Để hợp nhất một nhánh, hãy chạy lệnh sau:

  git checkout base_branch
hợp nhất git new_branch
 

Mặc dù nghe có vẻ là một quá trình dễ dàng, nhưng sáp nhập có khả năng 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 làm việc trên một tệp trong một nhánh mới. Sau khi bạn cam kết thay đổi, bạn yêu cầu Git hợp nhất chi nhánh mới của bạn với chi nhánh cơ sở. Tuy nhiên, cùng một phần 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 để 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ữ những thay đổi nào, điều đó sẽ gây ra xung đột.

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

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

Một phần của tập tin nằm giữa <<<<<<<< ĐẦU ======== chứa mã đó có trong nhánh cơ sở. Các dòng mã giữa ======== >>>>>>>> new_branch có mặt trong nhánh new_branch . Nhà phát triển, người đã hợp nhất mã này 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) nên đượ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à cam kết thay đổi.

6. Đồng bộ hóa các thay đổi với điều khiển từ xa

Trong khi chúng tôi đã thảo luận về cách cam kết mã trong các nhánh mới và hợp nhất nó với nhánh cơ sở, hãy để ngay bây giờ xem cách bạn có thể đồng bộ hóa mã với điều khiển từ xa. Trước khi bạn 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 lưu trữ cục bộ của mình để tính đến mọi thay đổi có thể xảy ra kể từ lần cập nhật trước. Để cập nhật các thay đổi từ xa, hãy chạy lệnh sau:

  git kéo remote remote_branch: local_branch
 

Lệnh git pull trước tiên tải 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ó thể phát sinh trong khi kéo 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 trong đó commit_hash sẽ là hàm băm xác định cho cam kết được thêm vào chi nhánh của bạn.

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

  git đẩy remote local_branch: remote_branch
 

7. Git trên đám mây: Ngã ba

Nếu nhóm của bạn hoạt động trên đám mây, bạn có thể giới thiệu một khái niệm bổ sung được gọi là ngã ba. Một ngã ba là một 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 truy cập ghi vào ngã ba của mình, đây là nơi an toàn để bạn đẩy 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 bước kỹ thuật mà tôi đã trình bày ở trên. Bạn sao chép ngã ba của mình, do đó, nguồn gốc của kho lưu trữ cục bộ của bạn trỏ đến ngã ba của bạn trên đám mây. Làm thế nào để bạn có được các bản cập nhật từ kho lưu trữ mới nhất sau đó? Bạn cần thêm thủ công một điều khiển từ xa, ngược dòng trỏ đến kho lưu trữ ban đầu.

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

8. Nhận xét mã thông qua các 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. Nó có 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. Một yêu cầu kéo tóm tắt sự so sánh giữa hai nhánh trong câu hỏi và bắt đầu một cuộc thảo luận giữa nhà phát triển và các quản trị viên tổ chức.

 Cuộc trò chuyện trên GitHub "width =" 1024 "height =" 484 "class =" alignnone size-Large wp-image-175381 "/> </p>
<p> Việc xem xét mã có thể lên đến nhiều thay đổi trước khi có thể hợp nhất. Khi quản trị viên hài lòng với các thay đổi, nó có thể được hợp nhất với kho lưu trữ. </p>
<h2 id= 9. Biết về quy trình công việc Git

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

Luồng công việc phức tạp hơn tiếp theo là luồng công việc 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 các nhánh phát triển hoặc .

Luồng công việc Git bao gồm một loạt các tình huống là quy trình công việc Gitflow. Nó có các nhánh riêng để phát triển, tính năng, phát hành và hotfix.

Ở đây, 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ó khả năng dẫn đến kích thước kho lưu trữ lớn với sự gia tăng số lượng cam kết.

Giải pháp là sử dụng Git Large File Storage, 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 các con trỏ văn bản. Tại đây, một triển khai 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ề các kỹ thuật Git khác nhau có thể giúp bạn khi tham gia một nhóm lần đầu tiên. Tôi hy vọng nó đã giúp bạn chuẩn bị cho tương lai. Tôi đã bỏ lỡ bất cứ điều gì? 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:

  • Jump Start Git: Một hướng dẫn súc tích sẽ giúp bạn tăng tốc trong một ngày cuối tuần.
  • Git chuyên nghiệp: Một lần lặn sâu hơn mà sẽ đưa bạn đến con đường làm chủ Git.

      

            


[ad_2]
Source link: webdesignernews

Leave a Reply

Your email address will not be published. Required fields are marked *

.
.
.
.