Hướng dẫn: Đẩy và theo dõi nhánh Git mới

Git Command Line

Làm chủ các nhánh Git: Tạo và theo dõi

Làm việc với các nhánh Git là điều cần thiết để kiểm soát phiên bản hiệu quả và phát triển cộng tác. Hướng dẫn này sẽ chỉ cho bạn cách tạo một nhánh cục bộ từ một nhánh khác và đẩy nó đến một kho lưu trữ từ xa.

Ngoài ra, bạn sẽ tìm hiểu cách làm cho nhánh có thể theo dõi được, đảm bảo rằng các lệnh git pull và git push hoạt động liền mạch. Hãy làm theo các bước sau để hợp lý hóa quy trình làm việc Git của bạn và duy trì việc quản lý dự án hiệu quả.

Yêu cầu Sự miêu tả
git checkout -b <branch-name> Tạo và chuyển sang nhánh mới từ nhánh hiện tại.
git push -u origin <branch-name> Đẩy nhánh mới vào kho lưu trữ từ xa và thiết lập nhánh ngược dòng (theo dõi).
repo.create_head(<branch-name>) Tạo một nhánh mới trong kho Git bằng thư viện GitPython.
branch.checkout() Chuyển sang nhánh được chỉ định trong kho Git bằng thư viện GitPython.
origin.push(refspec='{}:{}') Đẩy nhánh được chỉ định vào kho lưu trữ từ xa bằng thư viện GitPython.
set_tracking_branch('origin/<branch-name>') Đặt nhánh ngược dòng (theo dõi) cho nhánh mới được tạo bằng thư viện GitPython.

Hiểu quy trình theo dõi và tạo chi nhánh

Các tập lệnh được cung cấp minh họa cách tạo một nhánh Git mới và đẩy nó đến một kho lưu trữ từ xa, đảm bảo nó có thể theo dõi được. Tập lệnh đầu tiên sử dụng dòng lệnh Git. Bằng cách thực hiện , một nhánh mới được tạo và chuyển sang đồng thời. Ngoài ra, theo dõi bởi đạt được kết quả tương tự trong hai bước. Để đẩy nhánh mới vào kho lưu trữ từ xa và đặt nó theo dõi nhánh từ xa, lệnh git push -u origin new-branch Được sử dụng.

Tập lệnh thứ hai, được viết bằng Bash, tự động hóa quá trình này. Nó bắt đầu bằng việc kiểm tra xem tên nhánh có được cung cấp hay không và sau đó sử dụng để tạo và chuyển sang nhánh mới, nơi là tên chi nhánh. Lệnh đẩy nhánh mới tới kho lưu trữ từ xa và thiết lập theo dõi. Tập lệnh thứ ba sử dụng Python với thư viện GitPython. Nó khởi tạo kho lưu trữ, tạo một nhánh mới với repo.create_head(sys.argv[1]), chuyển sang nó bằng cách sử dụng và đẩy nó vào kho lưu trữ từ xa trong khi thiết lập nhánh ngược dòng với .

Tạo và đẩy một nhánh Git mới

Sử dụng dòng lệnh Git

# Step 1: Create a new branch from the current branch
git checkout -b new-branch
# or
git branch new-branch
git checkout new-branch
# Step 2: Push the new branch to the remote repository and set it to track the remote branch
git push -u origin new-branch
# Now, the branch is created locally, pushed to the remote, and tracking is set

Tự động hóa việc tạo và đẩy nhánh Git

Sử dụng tập lệnh Bash

#!/bin/bash
# Check if branch name is provided
if [ -z "$1" ]
then
  echo "Usage: $0 <branch-name>"
  exit 1
fi
# Create a new branch from the current branch
git checkout -b $1
# Push the new branch to the remote repository and set it to track the remote branch
git push -u origin $1
echo "Branch '$1' created and pushed to remote repository."

Quản lý chi nhánh Git có lập trình

Sử dụng Python với Thư viện GitPython

import git
import sys
# Ensure branch name is provided
if len(sys.argv) != 2:
    print("Usage: python create_push_branch.py <branch-name>")
    sys.exit(1)
# Repository path
repo_path = '.'  # Current directory
# Initialize repository
repo = git.Repo(repo_path)
# Create new branch
new_branch = repo.create_head(sys.argv[1])
# Checkout to the new branch
new_branch.checkout()
# Push the new branch and set upstream
origin = repo.remote(name='origin')
origin.push(refspec='{}:{}'.format(new_branch, new_branch)).set_tracking_branch('origin/{}'.format(new_branch))
print("Branch '{}' created and pushed to remote repository.".format(sys.argv[1]))

Đi sâu hơn vào quản lý chi nhánh Git

Một khía cạnh quan trọng khác của quản lý nhánh Git là hiểu cách xử lý xung đột khi hợp nhất các nhánh. Khi làm việc theo nhóm, nhiều nhánh có thể được tạo và sửa đổi đồng thời. Điều này có thể dẫn đến những xung đột cần được giải quyết trước khi sáp nhập một nhánh. Các lệnh được sử dụng để tích hợp các thay đổi từ nhánh này sang nhánh khác, nhưng xung đột có thể phát sinh nếu cùng một dòng mã bị thay đổi khác nhau trong các nhánh được hợp nhất.

Để giải quyết xung đột, Git sẽ tạm dừng hợp nhất và cho phép bạn giải quyết xung đột theo cách thủ công. Sau khi giải quyết chúng, lệnh được sử dụng để sắp xếp các tệp đã giải quyết, theo sau là để hoàn tất việc hợp nhất. Ngoài ra, các công cụ như có thể được sử dụng để áp dụng lại các cam kết trên một mẹo cơ bản khác, điều này có thể đơn giản hóa lịch sử nhưng cũng có thể gây ra xung đột cần giải quyết.

Các câu hỏi thường gặp về phân nhánh và theo dõi Git

  1. Làm cách nào để xóa chi nhánh địa phương?
  2. Bạn có thể xóa một nhánh cục bộ bằng lệnh .
  3. Làm cách nào để xóa một nhánh từ xa?
  4. Để xóa một nhánh từ xa, sử dụng lệnh .
  5. Làm cách nào tôi có thể xem tất cả các nhánh trong kho lưu trữ của mình?
  6. Sử dụng để liệt kê tất cả các chi nhánh địa phương và cho các chi nhánh ở xa.
  7. Nhánh theo dõi trong Git là gì?
  8. Nhánh theo dõi là nhánh cục bộ có mối quan hệ trực tiếp với nhánh ở xa. Bạn có thể thiết lập một nhánh theo dõi với .
  9. Làm cách nào để chuyển đổi giữa các chi nhánh?
  10. Sử dụng lệnh để chuyển sang nhánh được chỉ định.
  11. Sự khác biệt giữa Và ?
  12. tích hợp các thay đổi từ một nhánh khác, tạo ra một cam kết hợp nhất. áp dụng lại các cam kết lên trên một mẹo cơ bản khác, dẫn đến một lịch sử tuyến tính.
  13. Làm cách nào để giải quyết xung đột hợp nhất trong Git?
  14. Khi xảy ra xung đột hợp nhất, hãy chỉnh sửa thủ công các tệp xung đột để giải quyết sự cố, sau đó sử dụng để sắp xếp các tập tin đã giải quyết và để hoàn tất việc hợp nhất.
  15. Làm cách nào để thiết lập kho lưu trữ từ xa?
  16. Bạn có thể thiết lập kho lưu trữ từ xa bằng lệnh .

Việc thành thạo việc tạo và theo dõi nhánh Git là rất quan trọng đối với bất kỳ nhà phát triển nào làm việc trong môi trường hợp tác. Bằng cách sử dụng các lệnh như Và , bạn có thể quản lý các nhánh của mình một cách hiệu quả, đảm bảo chúng được theo dõi và tích hợp đúng cách với kho lưu trữ từ xa. Cách thực hành này không chỉ đơn giản hóa quy trình làm việc của bạn mà còn giảm thiểu xung đột và lỗi trong quá trình phát triển. Hãy nhớ khám phá các tính năng nâng cao như giải quyết xung đột hợp nhất và rebase để nâng cao hơn nữa kỹ năng kiểm soát phiên bản của bạn.