Tôi đang ở trong một tình huống mà tôi đang cố gắng chuyển đổi một dự án nguồn mở sang Git và gần đây tôi đã có được quyền truy cập vào dữ liệu lịch sử cho dự án. Tuy nhiên, tôi đã thực hiện sửa đổi cho repo, vì vậy tôi muốn thêm những thay đổi sớm này khi git cam kết với bắt đầu của cây cam kết trong Git. (Có, tôi biết rằng điều này sẽ thay đổi SHA cho các lần xác nhận sau; điều này có thể chấp nhận được.) Dữ liệu được cung cấp dưới dạng ảnh chụp nhanh liên tiếp của thư mục làm việc. Tôi muốn thiết lập nó để trạng thái của thư mục làm việc cho các lần xác nhận sau không bị ảnh hưởng (tôi không muốn hợp nhất các thay đổi trong).
Ví dụ: nếu cam kết ban đầu B
thêm tập tin a
và b
vào thư mục làm việc, và cam kết lịch sử của tôi A
thêm tập tin a
, Tôi muốn thực hiện một cam kết mới B'
ngang hàng từ A
có thêm tập tin b
chỉ có. Ở cả hai B
và B'
, thư mục làm việc trông giống nhau và mọi cam kết tiếp theo ở trên cùng của B
có thể được khởi động lại một cách an toàn B'
.
Có thể làm điều này trong Git? Nếu vậy thì thế nào?
Chỉnh sửa: Lưu ý rằng tôi cần sửa đổi cam kết ban đầu. Cách sử dụng tiêu chuẩn của git commit
nối thêm một cam kết mới như là một đứa trẻ của HEAD
cam kết, và do đó không hoạt động cho cam kết ban đầu, không có cha mẹ.