Cách đúng để hoàn tác đổi tên trong git, như:
git mv file1 file2
Cách đúng để hoàn tác đổi tên trong git, như:
git mv file1 file2
Câu trả lời:
Câu trả lời không táo tợn:
git mv file2 file1
Tự động cập nhật chỉ mục cho cả đường dẫn cũ và mới.
Kiểm tra tài liệu của git mv
git checkout .
không hoạt động, ngay cả với -f
tùy chọn?
git checkout -- .
.
fatal: source directory is empty,
, chỉ git reset --hard
làm công việc.
Nếu bạn không thực hiện bất kỳ thay đổi nào khác (mà bạn muốn giữ) kể từ lần cam kết cuối cùng, bạn có thể thực hiện
git reset --hard
git reset --hard
. Chỉ cần di chuyển nó về phía sau dường như là một lựa chọn an toàn hơn với tôi.
Trong trường hợp của tôi, tôi đã chuyển toàn bộ một thư mục, sau đó nhận ra rằng tôi không nên có.
Tôi thực sự thích câu trả lời của @Dave Konopka, nhưng tôi không có nhiều thành công với cách tiếp cận đó (có thể là phiên bản GIT của tôi (1.8.4)? Các tệp của tôi vẫn hiển thị là đã bị xóa. Tôi có các thay đổi khác trên ngăn xếp mà tôi không muốn mất (không may).
Tôi đã thành công khi làm điều này:
git reset moved_folder
git checkout original_folder
Nó phụ thuộc vào những gì bạn muốn thực hiện. Nếu bạn muốn nó xuất hiện như thể tập tin không bao giờ được di chuyển, thì bạn có thể đặt lại (hoặc rebase) trở lại trước khi di chuyển. Nếu bạn không quan tâm đến lịch sử, thì hãy chuyển nó trở lại.
Nếu bạn vô tình đổi tên một số lượng lớn tệp và muốn quay lại nơi bạn đã bắt đầu, hãy xóa tất cả các tệp đã đổi tên hiển thị adds
dưới dạng git status
cuộc gọi.
Khi bạn xóa tất cả các tệp đã thay đổi, bạn có thể chạy git checkout -- *
để lấy lại tên tệp gốc cục bộ.
git reset HEAD file2
git checkout -- file1
rm file2
Lệnh đầu tiên bỏ tập tin2 nhưng để lại một bản sao của nó. Lệnh thứ hai khôi phục tệp gốc và lệnh thứ ba xóa tệp mới.
git mv file2 file1