Làm cách nào tôi có thể hoàn tác mọi thay đổi được thực hiện cho thư mục của mình sau lần xác nhận cuối cùng, bao gồm xóa các tệp đã thêm, đặt lại các tệp đã sửa đổi và thêm lại các tệp đã xóa?
Làm cách nào tôi có thể hoàn tác mọi thay đổi được thực hiện cho thư mục của mình sau lần xác nhận cuối cùng, bao gồm xóa các tệp đã thêm, đặt lại các tệp đã sửa đổi và thêm lại các tệp đã xóa?
Câu trả lời:
Đầu tiên đặt lại các thay đổi
git reset HEAD --hard
sau đó dọn dẹp mọi thứ không bị theo dõi. Nếu bạn muốn giữ các tệp không được theo dõi do .gitignore
, hãy cẩn thận với lệnh này.
git clean -fd
-x
tùy chọn này git clean
, điều này cũng chỉ đạo nó loại bỏ các tệp bị bỏ qua.
git clean -fd
lệnh.
git clean -fd
không xóa các tập tin bị bỏ qua. -x
sẽ.
git clean -fd
sẽ xóa các thư mục và các tập tin không bị theo dõi. Đã thử nghiệm với phiên bản git 1.9.1
Làm cách nào tôi có thể hoàn tác mọi thay đổi được thực hiện cho thư mục của mình sau lần xác nhận cuối cùng, bao gồm xóa các tệp đã thêm, đặt lại các tệp đã sửa đổi và thêm lại các tệp đã xóa?
Bạn có thể hoàn tác các thay đổi đối với các tệp được theo dõi bằng:
git reset HEAD --hard
Bạn có thể xóa các tệp không bị theo dõi với:
git clean -f
Bạn có thể loại bỏ untracked tập tin và thư mục với:
git clean -fd
nhưng bạn không thể hoàn tác thay đổi thành các tập tin chưa được theo dõi .
Bạn có thể loại bỏ các tập tin và thư mục bị bỏ qua và không bị theo dõi
git clean -fdx
nhưng bạn không thể hoàn tác thay đổi thành các tập tin bị bỏ qua .
Bạn cũng có thể đặt clean.requireForce
thành false
:
git config --global --add clean.requireForce false
để tránh sử dụng -f
( --force
) khi bạn sử dụng git clean
.
Có hai lệnh sẽ hoạt động trong tình huống này,
root> git reset - đầu trang ~ 1
root> git đẩy -f
Để biết thêm các lệnh git tham khảo trang này
git push -f
không liên quan đến câu hỏi và, trong kịch bản này, rất nguy hiểm