Cập nhật
Lưu ý: câu trả lời này ban đầu được viết liên quan đến các phiên bản cũ hơn của SourceTree cho Windows và hiện đã lỗi thời.
Xem câu trả lời mới của tôi cho phiên bản hiện tại của SourceTree cho Windows, 1.5.2.0 . Tôi để lại câu trả lời này cho mục đích lịch sử.
Câu trả lời gốc
vì tôi đang ở trên Windows Tôi không có công cụ dòng lệnh và tôi cũng không biết cách sử dụng một công cụ :( Đây có phải là cách duy nhất để sắp xếp nó ra không? GUI không bao gồm tất cả các chức năng của git? - Poster gốc
Về GUI Git, không, chúng không bao gồm tất cả các chức năng của Git . Họ thậm chí không đến gần . Tôi đề nghị bạn kiểm tra một trong những câu trả lời trong Làm cách nào để chỉnh sửa thông báo cam kết không chính xác trong Git? , Git đủ linh hoạt để có nhiều giải pháp ... từ dòng lệnh.
SourceTree thực sự có thể đi kèm với shell bash msysgit hoặc nó có thể sử dụng shell lệnh Windows tiêu chuẩn. Dù bằng cách nào, bạn mở nó lên dưới dạng SourceTree bằng cách nhấp vào nút Terminal:
Bạn đặt thiết bị đầu cuối SourceTree sử dụng (bash hoặc Windows) tại đây:
Một cách để giải quyết vấn đề trong SourceTree
Điều đó đang được nói, đây là một cách bạn có thể làm điều đó trong SourceTree. Vì bạn đã đề cập trong các nhận xét rằng bạn không bận tâm "quay lại cam kết bị lỗi" (theo đó tôi giả sử bạn thực sự có nghĩa là đặt lại, đó là một hoạt động khác trong Git), nên đây là các bước:
- Thực hiện thiết lập lại cứng trong SourceTree cho cam kết xấu bằng cách nhấp chuột phải vào nó và chọn
Reset current branch to this commit
và chọn tùy chọn đặt lại cứng từ trình đơn thả xuống.
- Nhấp vào nút Cam kết, sau đó
- Nhấp vào hộp kiểm ở phía dưới có nội dung "Sửa đổi cam kết mới nhất".
- Thực hiện các thay đổi bạn muốn gửi tin nhắn, sau đó nhấp vào Cam kết một lần nữa. Voila!
Về nhận xét này :
nếu điều đó là không thể bởi vì nó đã được đẩy lên Bitbucket, tôi sẽ không phiền khi tạo một kho lưu trữ mới và bắt đầu lại.
Điều này có nghĩa là bạn là người duy nhất làm việc trên repo? Điều này rất quan trọng vì việc thay đổi lịch sử của một repo (như sửa đổi một cam kết) không phải là chuyện nhỏ mà không gây ra vấn đề gì cho các cộng tác viên của bạn. Tuy nhiên, giả sử rằng bạn là người duy nhất làm việc trên repo, thì điều tiếp theo bạn muốn làm là buộc đẩy lịch sử đã thay đổi của bạn lên điều khiển từ xa.
Mặc dù vậy, hãy lưu ý rằng vì bạn đã thiết lập lại cứng cho cam kết bị lỗi, sau đó ép buộc khiến bạn mất tất cả công việc xảy ra sau đó. Nếu không sao, thì bạn có thể cần sử dụng lệnh sau tại dòng lệnh để thực hiện lực đẩy, bởi vì tôi không thể tìm thấy tùy chọn để thực hiện điều đó trong SourceTree:
git push remote-repo head -f
Điều này cũng giả định rằng BitBucket sẽ cho phép bạn buộc đẩy sang repo.
Bạn thực sự nên học cách sử dụng Git từ dù sao dòng lệnh, nó sẽ giúp bạn thành thạo hơn về Git. #ProTip, sử dụng msysgit và bật chế độ Chỉnh sửa nhanh trong thuộc tính của thiết bị đầu cuối, để bạn có thể nhấp đúp để tô sáng một dòng văn bản, nhấp chuột phải để sao chép và nhấp chuột phải lần nữa để dán. Nó khá nhanh.