Hướng dẫn: Di chuyển các cam kết Git gần đây sang một nhánh mới

Git Commands

Sắp xếp lại các cam kết Git của bạn

Git là một hệ thống kiểm soát phiên bản mạnh mẽ giúp các nhà phát triển quản lý các thay đổi trong dự án của họ một cách hiệu quả. Đôi khi, bạn có thể thấy cần phải chuyển các cam kết gần đây từ nhánh chính sang nhánh mới. Điều này có thể vì nhiều lý do, chẳng hạn như tách biệt các tính năng mới hoặc tách công việc thử nghiệm khỏi dự án chính.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn các bước để chuyển các cam kết mới nhất của bạn sang một nhánh mới và đặt lại nhánh chính của bạn về trạng thái trước đó. Bằng cách làm theo những hướng dẫn này, bạn sẽ duy trì lịch sử cam kết rõ ràng và có tổ chức, đảm bảo dự án của bạn vẫn có thể quản lý được và dễ hiểu đối với tất cả các thành viên trong nhóm.

Yêu cầu Sự miêu tả
git checkout -b newbranch Tạo một nhánh mới có tên 'newbranch' và chuyển sang nhánh đó ngay lập tức.
git reset --hard HEAD~3 Đặt lại nhánh hiện tại về trạng thái của ba lần xác nhận trước, loại bỏ tất cả các thay đổi.
git push origin newbranch Đẩy nhánh 'newbranch' tới kho lưu trữ từ xa có tên 'origin'.
git push origin master --force Cập nhật mạnh mẽ nhánh 'chính' từ xa để khớp với nhánh 'chính' cục bộ, ngay cả khi nó viết lại lịch sử.
git branch newbranch Tạo một nhánh mới có tên 'newbranch' mà không cần chuyển sang nhánh đó.
git cherry-pick C D E Áp dụng các thay đổi được đưa ra bởi các cam kết đã chỉ định (C, D và E) cho nhánh hiện tại.
git log --oneline --graph Hiển thị một bản trình bày ngắn gọn, bằng đồ họa về lịch sử cam kết.

Giải thích chi tiết về lệnh Git

Các tập lệnh được cung cấp minh họa cách di chuyển các cam kết gần đây sang một nhánh mới và đặt lại nhánh tới trạng thái trước đó. Đầu tiên, lệnh tạo một nhánh mới có tên và chuyển sang nó. Tiếp theo là git reset --hard HEAD~3, thiết lập lại nhánh tới trạng thái của ba lần xác nhận trước, loại bỏ hiệu quả các lần xác nhận mới nhất. Lệnh này rất quan trọng để dọn dẹp lịch sử cam kết bằng cách loại bỏ những thay đổi không mong muốn.

Tiếp theo, lệnh đẩy nhánh mới được tạo vào kho lưu trữ từ xa, giúp nó sẵn sàng cho việc cộng tác. Để hoàn thiện, cập nhật mạnh mẽ điều khiển từ xa nhánh để phù hợp với trạng thái địa phương, ngay cả khi nó liên quan đến việc viết lại lịch sử. Điểm nổi bật của kịch bản thứ hai số 8 để tạo một nhánh mới mà không cần chuyển sang nhánh đó và để áp dụng các cam kết cụ thể từ chi nhánh này sang chi nhánh khác. Cuối cùng, cung cấp trình bày trực quan về lịch sử cam kết, hỗ trợ xác minh các thay đổi.

Chuyển các cam kết gần đây sang một nhánh mới trong Git

Sử dụng lệnh Git

# Create a new branch and switch to it
git checkout -b newbranch

# Reset the master branch to the previous state
git checkout master
git reset --hard HEAD~3

# Push the new branch to the remote repository
git push origin newbranch

# Force push the reset master branch to the remote repository
git push origin master --force

Tạo và chuyển sang một nhánh mới trong Git

Sử dụng Git Bash

# Step 1: Check the current branch
git branch

# Step 2: Create a new branch
git branch newbranch

# Step 3: Move commits to the new branch
git checkout newbranch
git cherry-pick C D E

# Step 4: Verify the branches
git log --oneline --graph

Hiểu phân nhánh Git và quản lý lịch sử

Một khía cạnh quan trọng khác khi làm việc với Git là quản lý lịch sử nhánh để giữ cho kho lưu trữ luôn sạch sẽ và có thể bảo trì được. Khi chuyển các cam kết gần đây sang một chi nhánh mới, điều cần thiết là phải hiểu tác động đến sự hợp tác. Ví dụ: ép buộc thay đổi với có thể làm gián đoạn công việc của các thành viên trong nhóm nếu họ đã thực hiện công việc của mình dựa trên những cam kết đó. Do đó, việc liên lạc với nhóm của bạn trước khi thực hiện những thay đổi đó là rất quan trọng.

Hơn nữa, bạn có thể sử dụng để duy trì một lịch sử dự án tuyến tính. Việc khởi động lại cho phép bạn di chuyển hoặc kết hợp các cam kết, đảm bảo rằng lịch sử cam kết vẫn được sắp xếp hợp lý và dễ theo dõi. Cách thực hành này đặc biệt hữu ích trong các nhánh tính năng tồn tại lâu dài nơi bạn muốn kết hợp các bản cập nhật từ nhánh chính mà không tạo ra các cam kết hợp nhất không cần thiết. Nắm vững các kỹ thuật này sẽ cải thiện đáng kể quy trình làm việc và cộng tác Git của bạn.

  1. Làm cách nào để tạo một nhánh mới trong Git?
  2. Sử dụng lệnh để tạo một nhánh mới.
  3. Mục đích của là gì ?
  4. Nó đặt lại nhánh hiện tại về một trạng thái cụ thể, loại bỏ tất cả các thay đổi sau thời điểm đó.
  5. Làm cách nào tôi có thể xem bản trình bày trực quan về lịch sử Git của mình?
  6. Sử dụng để xem lịch sử cam kết bằng đồ họa ngắn gọn.
  7. Tại sao tôi nên tránh sử dụng ?
  8. Việc ép buộc có thể ghi đè lên lịch sử từ xa và làm gián đoạn công việc của cộng tác viên. Sử dụng nó một cách thận trọng.
  9. làm gì LÀM?
  10. Nó áp dụng các thay đổi từ các cam kết cụ thể cho nhánh hiện tại.
  11. Làm cách nào tôi có thể kết hợp các bản cập nhật từ nhánh chính mà không cần cam kết hợp nhất?
  12. Sử dụng để áp dụng lại các thay đổi của bạn trên nhánh chính mới nhất.
  13. Lợi ích của việc duy trì lịch sử dự án tuyến tính là gì?
  14. Nó làm cho lịch sử cam kết dễ hiểu và dễ theo dõi hơn, rất hữu ích cho việc cộng tác.
  15. Làm cách nào để chuyển nhánh trong Git?
  16. Sử dụng để chuyển sang một chi nhánh hiện có.
  17. Tôi có thể khôi phục các cam kết đã được đặt lại bằng ?
  18. Có, sử dụng để tìm hàm băm cam kết và đặt lại về nó.

Các bước để di chuyển các cam kết Git gần đây

Một khía cạnh quan trọng khác khi làm việc với Git là quản lý lịch sử nhánh để giữ cho kho lưu trữ luôn sạch sẽ và có thể bảo trì được. Khi chuyển các cam kết gần đây sang một chi nhánh mới, điều cần thiết là phải hiểu tác động đến sự hợp tác. Ví dụ: ép buộc thay đổi với có thể làm gián đoạn công việc của các thành viên trong nhóm nếu họ đã thực hiện công việc của mình dựa trên những cam kết đó. Do đó, việc liên lạc với nhóm của bạn trước khi thực hiện những thay đổi đó là rất quan trọng.

Hơn nữa, bạn có thể sử dụng để duy trì một lịch sử dự án tuyến tính. Việc khởi động lại cho phép bạn di chuyển hoặc kết hợp các cam kết, đảm bảo rằng lịch sử cam kết vẫn được sắp xếp hợp lý và dễ theo dõi. Cách thực hành này đặc biệt hữu ích trong các nhánh tính năng tồn tại lâu dài nơi bạn muốn kết hợp các bản cập nhật từ nhánh chính mà không tạo ra các cam kết hợp nhất không cần thiết. Nắm vững các kỹ thuật này sẽ cải thiện đáng kể quy trình làm việc và cộng tác Git của bạn.

Nắm vững các lệnh Git để quản lý chi nhánh là điều cần thiết để duy trì lịch sử dự án rõ ràng và hiệu quả. Bằng cách di chuyển các cam kết gần đây sang một nhánh mới và đặt lại nhánh chính, bạn có thể tách biệt các thay đổi và giữ cho nhánh chính của mình ổn định. Hiểu các lệnh như , , Và có thể nâng cao đáng kể quy trình làm việc và sự cộng tác của bạn. Luôn liên lạc với nhóm của bạn trước khi thực hiện những thay đổi quan trọng để tránh làm gián đoạn công việc của họ.