Buộc ghi đè tệp cục bộ với repo gốc là gì?


224

Tôi muốn lấy tệp mới nhất trong kho lưu trữ và ghi đè lên những gì tôi có tại địa phương. Làm thế nào tôi có thể làm điều này với khách hàng git?

Câu trả lời:


443

Nếu bạn muốn ghi đè chỉ một tệp:

git fetch
git checkout origin/master <filepath>

Nếu bạn muốn ghi đè tất cả các tệp đã thay đổi:

git fetch
git reset --hard origin/master

(Điều này giả định rằng bạn đang làm việc mastertại địa phương và bạn muốn có các thay đổi về nguồn gốc master- nếu bạn đang ở trong một chi nhánh, thay thế điều đó thay vào đó.)


Điều này đã làm điều ngược lại. Nó ghi đè lên kho lưu trữ với các tệp cục bộ của tôi một cách sai lầm.
C_Rod

git fetch git reset --hard origin/masterhoặc/<branch name>
filipescu

Thật tuyệt ... Chính xác là những gì tôi đang tìm kiếm. Cảm ơn
Thiago Passos

Không chắc chắn những gì @C_Rod đã làm, nhưng điều này có thể ảnh hưởng đến kho lưu trữ
Brad Mace

26

Phiên bản đơn giản nhất, giả sử bạn đang làm việc trên cùng một nhánh mà tệp bạn muốn bật:

git checkout path/to/file.

Tôi làm điều này thường xuyên đến nỗi tôi đã đặt bí danh gc='git checkout'.


4
Đơn giản, thanh lịch, và làm công việc. Chỉ cần nhớ 'git fetch' trước.
Almir Campos

6
git checkout path/to/fileđã làm cho tôi. Ngoài ra, tôi thấy sơ đồ này rất hữu ích để hiểu khái niệm những gì git checkoutđang làm. liên kết
Cale Sweeney

9

Điều này làm việc cho tôi:

git reset HEAD <filename>

Tôi đã thấy khá nhiều giải pháp khác nhau nhưng đây là giải pháp hiệu quả nhất, cảm ơn
Calvin Zhou

3

Đồng bộ hóa đầy đủ có một số nhiệm vụ:

  • hoàn nguyên các thay đổi
  • xóa các tập tin mới
  • nhận mới nhất từ ​​kho lưu trữ từ xa

git thiết lập lại ĐẦU -

git sạch -f

git kéo nguồn gốc

Hoặc nếu không, điều tôi thích là, tôi có thể tạo một nhánh mới với cái mới nhất từ ​​xa bằng cách sử dụng:

git checkout origin/master -b <new branch name>

nguồn gốc là tài liệu tham khảo kho lưu trữ từ xa của tôi và chủ là tên chi nhánh được xem xét của tôi. Đây có thể khác với bạ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.