Chỉ:
git clone $url
Nghiêm túc! Đó là cách tốt nhất.
Bạn có thể thực hiện tất cả các loại git reset
và git branch
lệnh để di chuyển, nhưng mục đích duy nhất là giữ cam kết của bạn ở đâu đó trong kho lưu trữ cục bộ để tham khảo trong tương lai. Nếu đó là mục tiêu, chỉ cần giữ nguyên toàn bộ kho lưu trữ và tái sao chép nguồn gốc.
Để chấp nhận tất cả những thay đổi trên chỉ là một chi nhánh, foo
:
git checkout foo
git fetch origin +refs/heads/foo:refs/remotes/origin/foo
git reset refs/remotes/origin/foo
foo
bây giờ sẽ chỉ đồng cam kết như foo
trên origin
. Nếu bạn muốn xóa các tệp trong thư mục làm việc của mình, hãy thêm --hard
vào git reset
. Nếu bạn muốn hợp nhất trước, hãy thay thế fetch
bằng pull
.
Bạn có thể có một loạt các cam kết lơ lửng trong repo địa phương của bạn, mà git có thể dọn dẹp một ngày nào đó, nhưng trong một thời gian bạn vẫn có thể truy cập chúng thông qua reflog.
Điều cần biết :-) –
Có một vấn đề lớn với điều này: Tôi có rất nhiều và nhiều * bổ sung * cho cây làm việc. Tôi chỉ muốn chấp nhận/áp dụng tất cả các thay đổi đã được thực hiện trong điều khiển từ xa. Tôi không muốn vứt bỏ tất cả các trạng thái của công việc hiện tại của tôi. Vì vậy, điều này không hoạt động như một câu trả lời cho tôi. – rfay
@Randy, Đó là một câu hỏi khác, nhưng là một câu hỏi hay. – cdunn2001