2012-04-02 32 views
10

Vì vậy, môi trường làm việc của tôi có chính xác một chi nhánh với đồng hành từ xa trên Github. Tôi đang cố gắng làm git pull --rebase để ngăn không cho git push tạo các thư cam kết hợp nhất không cung cấp thông tin mới cho những người khác làm việc trong dự án này và chỉ nhét kẹo lên các tác phẩm. Nhưng khi tôi thử điều đó, nó mang lại cho tôi điều này:"git pull --rebase" dẫn đến "Không thể khởi động lại trên nhiều nhánh"

From https://github.com/our_profile/our_repository 
* branch   HEAD  -> FETCH_HEAD 
Cannot rebase onto multiple branches 

Và kéo hủy bỏ. Gọi số git branch thông báo với tôi rằng tôi chỉ có một chi nhánh trên máy địa phương của tôi, vậy điều gì đang xảy ra?

+0

Yeah, và thực hiện * 'git pull --rebase' * cho các công trình lần thứ hai! Đó là bởi vì trong hành động git đầu tiên lấy dữ liệu, để các nhánh chủ từ xa và cục bộ bắt đầu chỉ ra cùng một cam kết. –

Trả lời

9

Cố gắng xác định chính xác những gì chi nhánh ở xa bạn muốn kéo:

git pull --rebase origin branch 

Hoặc bạn cũng có thể git fetch tất cả thay đổi từ kho lưu trữ từ xa đầu tiên, và sau đó rebase bằng tay:

git rebase origin/branch 
+0

Điều này gần như đã hoạt động, nhưng nó đã gây ra nhiều vấn đề liên quan đến nhiều tệp đang được đánh dấu để xóa. Tôi đã phải đi vào git GUI để lưu công việc tôi đã làm trên chúng. – bourgtai

+0

Bạn có biết tại sao tình trạng này xảy ra không? – dbn

-2

Giải pháp đơn giản nhất Tôi phát hiện ra là sử dụng mục trình đơn ngữ cảnh của TortoiseGit "Git Sync". Trong đó là phương tiện để tìm nạp & rebase trên nhánh hiện tại của bạn.

+0

Tôi nghĩ git pull đã thực hiện tìm nạp theo mặc định, hiển nhiên là tất cả thông điệp tìm nạp đi kèm. – Hazok

3

Trong trường hợp của tôi, tôi phải là cả hai cụ thể về điều khiển từ xa di chuyển cờ --rebase đến cuối lệnh.

Vì vậy: git pull origin master --rebase

học kinh nghiệm từ câu trả lời này: Git: Cannot rebase onto multiple branches

Các vấn đề liên quan