Làm cách nào tôi có thể đặt lại kho lưu trữ Git từ xa và cục bộ để xóa tất cả các xác nhận?
Tôi muốn bắt đầu mới với Head hiện tại như là cam kết ban đầu.
Làm cách nào tôi có thể đặt lại kho lưu trữ Git từ xa và cục bộ để xóa tất cả các xác nhận?
Tôi muốn bắt đầu mới với Head hiện tại như là cam kết ban đầu.
Câu trả lời:
Hoàn toàn thiết lập lại?
Xóa .git
thư mục cục bộ.
Tái tạo kho git:
$ cd (project-directory)
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'
Đẩy đến máy chủ từ xa, ghi đè. Hãy nhớ rằng bạn sẽ làm phiền mọi người khác khi thực hiện điều này, bạn nên là khách hàng duy nhất.
$ git remote add origin <url>
$ git push --force --set-upstream origin master
--allow-empty
cờ vào cuối git commit -m 'Initial commit'
.
git push --force --set-upstream origin master
Nhưng tất cả những thứ còn lại đều hoạt động như mô tả
Đầu tiên, hãy làm theo các hướng dẫn trong câu hỏi này để dẹp mọi thứ thành một cam kết duy nhất. Sau đó thực hiện một cú đẩy mạnh mẽ vào điều khiển từ xa:
$ git push origin +master
Và tùy chọn xóa tất cả các chi nhánh khác cả cục bộ và từ xa:
$ git push origin :<branch>
$ git branch -d <branch>
Tôi là bạn, tôi sẽ làm một cái gì đó như thế này:
Trước khi làm bất cứ điều gì xin vui lòng giữ một bản sao (tốt hơn an toàn hơn xin lỗi)
git checkout master
git checkout -b temp
git reset --hard <sha-1 of your first commit>
git add .
git commit -m 'Squash all commits in single one'
git push origin temp
Sau khi làm điều đó bạn có thể xóa các chi nhánh khác.
Kết quả: Bạn sẽ có một chi nhánh chỉ với 2 lần xác nhận.
Sử dụng
git log --oneline
để xem các cam kết của bạn một cách tối giản và để tìm SHA-1 cho các cam kết!