Kéo chi nhánh từ xa vào repo cục bộ với tên khác?


112

Được rồi, tôi đã nghiên cứu một chút về vấn đề này nhưng tôi không thể tìm thấy câu trả lời chính xác, vì vậy tôi phải hỏi.

Tôi có 2 điều khiển từ xa: origin và repo2.

Tôi muốn làm một cái gì đó giống như

git pull repo2 master

Nhưng điều này sẽ kéo nhánh chính của repo2 vào nhánh chính của tôi. Tôi có thể chỉ định một nhánh khác để kéo vào, cho nhánh cục bộ của tôi không?

Câu trả lời:


163
git checkout -b myBranchName repo2/master

20
Lưu ý - bạn phải chạy git fetch remote2trước, nếu chưa hoàn thành. Nếu không, bạn có thể thấy> nghiêm trọng: Không thể cập nhật đường dẫn và chuyển sang nhánh 'myBranchName' cùng một lúc.
dman

Lưu ý - nếu bạn cần đẩy lùi, sử dụng git push repo2 myBranchName:masternhư một cách đơn giản git pushsẽ thất bại
jaimedash

2
Điều gì sẽ xảy ra nếu chi nhánh đã tồn tại? Tôi muốn cập nhật mã ở đó với mã từ repo.
Jared

@Jared Về mặt kỹ thuật là một câu hỏi khác, nhưng cũng có thể dễ dàng (và thực sự đó là một trong những trường hợp sử dụng phổ biến nhất). Nó hơi phụ thuộc vào những gì bạn đã làm. Trong hầu hết các trường hợp, nó chỉ là git checkout my_branch && git pull --rebase( --rebasephụ thuộc vào quy trình làm việc của bạn). Nếu chi nhánh chưa theo dõi điều khiển từ xa, bạn cần thực hiện git branch --set-upstream my_branch upstream/my_branchmột lần.
KingCrunch

4

Các git pulllệnh là một chức năng thuận tiện mà không git fetchgit merge. Nếu bạn chỉ muốn truy xuất các nhánh từ một điều khiển từ xa mới mà không cố gắng hợp nhất nó vào bất kỳ nhánh sao chép đang hoạt động nào mà bạn có thể sử dụng git fetch. Sau đó, bạn có thể tham khảo để git branch -avxem tất cả các chi nhánh địa phương và từ xa và hoạt động trên một trong hai điều khiển từ xa theo ý muốn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.