Tôi đang làm việc trên một dự án, và đã có tất cả các bài kiểm tra của tôi đi qua trên nhánh chính. Sau đó tôi đã thực hiện một số thay đổi, và khi mọi thứ bắt đầu thất bại, tôi nhận ra rằng có lẽ tôi nên thực hiện những thay đổi đó trên một nhánh khác. Có cách nào tôi có thể cam kết những thay đổi đối với một chi nhánh mới mà không cam kết họ với nhánh chính của tôi, để thầy vẫn có các bài kiểm tra vượt qua của tôi không?Git: Tôi có thể chuyển thư mục làm việc của mình đến một chi nhánh mới mà không cam kết vào chi nhánh hiện tại không?
16
A
Trả lời
23
Vâng, chỉ cần tạo các chi nhánh mới và kiểm tra xem nó ra:
$ git checkout -b new-branch
Sau đó cam kết bất kỳ thay đổi mà bạn có. Chúng sẽ được áp dụng cho chi nhánh mới, đã thanh toán.
4
Bạn có thể giấu những thay đổi hiện tại của bạn (git stash), chuyển sang chi nhánh mới và sau đó áp dụng các thay đổi đối với chi nhánh mới sử dụng
git stash pop
Các vấn đề liên quan
- 1. git: Cam kết công việc hiện tại chưa được cam kết trong nhánh hiện tại đến chi nhánh mới
- 2. chi nhánh git (không có chi nhánh)
- 3. Git: không thể chuyển sang chi nhánh mới từ xa
- 4. Tôi không thể thấy chi nhánh từ xa của mình
- 5. Git danh sách chi nhánh sáp nhập vào một chi nhánh nhưng không phải vào một
- 6. Di chuyển các cam kết từ một chi nhánh này sang một chi nhánh khác
- 7. Chèn chi nhánh mới giữa hai chi nhánh hiện tại
- 8. Git: chi nhánh mới không bị đẩy
- 9. lỗi git "Không thể viết lại chi nhánh (es) với một thư mục làm việc bẩn"
- 10. Tại sao Git không lưu tên chi nhánh như một phần của cam kết?
- 11. Làm cách nào tôi có thể biết chi nhánh "gốc" từ xa mà chi nhánh của tôi dựa trên?
- 12. Từ chủ, cam kết đến một chi nhánh khác
- 13. Git cho phép tôi chuyển đổi các chi nhánh mà không thực hiện các thay đổi
- 14. Cam kết thay đổi đối với một chi nhánh khác với chi nhánh hiện tại đã kiểm tra với subversion
- 15. SVN chi nhánh của một chi nhánh
- 16. chi nhánh git: gh-pages
- 17. Git: tạo ra chi nhánh mới từ một chi nhánh sai
- 18. git: làm thế nào để di chuyển một số cam kết với chi nhánh mới
- 19. Git: Đổi tên một thư mục trong một chi nhánh
- 20. Chi nhánh không tồn tại
- 21. "git checkout <commit id>" đang thay đổi chi nhánh thành "không có chi nhánh"
- 22. làm cho chi nhánh git chi nhánh chính
- 23. cách cam kết thay đổi chi nhánh mới
- 24. Thay đổi di chuyển bằng Mercurial đến chi nhánh mới
- 25. Trên chi nhánh địa phương, không muốn thực hiện thay đổi, nhưng cần phải chuyển sang một chi nhánh khác
- 26. Git: Không thể nhìn thấy mới chi nhánh từ xa
- 27. Git cam kết submodule chung (chi nhánh chính)
- 28. Tại sao Git không xóa một số tệp khi tôi chuyển chi nhánh?
- 29. git: di chuyển chi nhánh đầu
- 30. Làm cách nào tôi có thể đẩy các thay đổi của mình đến chi nhánh từ xa
ok tuyệt vời .. Tôi hiểu lầm rằng phần của tài liệu. Cảm ơn! – noli
Bạn có thể chuyển đổi các nhánh thông thường với các tệp đã sửa đổi mà không gặp vấn đề gì, bạn sẽ thấy nó hiển thị danh sách các tệp đã sửa đổi/thêm/xóa khi bạn thanh toán đến một nhánh khác như lời nhắc rằng cây làm việc không sạch. Tôi nghĩ rằng trong một vài trường hợp, bạn có thể bị ngăn cản làm như vậy. Ở đây bạn chuyển sang một nhánh mới để nó an toàn. Khi nó không hoạt động, bạn có thể cố gắng để stash (git stash) và sau đó áp dụng stash trên các chi nhánh khác, vì vậy bạn có một thư mục sạch khi kiểm tra ra. –
@faB sẽ thanh toán không đặt lại thư mục làm việc của tôi thành phiên bản chi nhánh mà bạn thanh toán? Im một chút lo lắng về việc mất công cụ với lệnh checkout chỉ để có thể cam kết trong một chi nhánh khác – nus