2011-02-22 22 views
81

Đây là bảng điểm của tôi từ việc cố gắng hợp nhất chi nhánh bugfix của tôi vào nhánh chính của tôi để chuẩn bị đẩy nó lên thượng nguồn. Đã có một số thay đổi ngược dòng được kéo vào master vì chi nhánh bugfix đã được tạo ra, và bây giờ nó từ chối rebase.Khởi động lại Git không thành công, 'Các thay đổi cục bộ của bạn đối với các tệp sau sẽ bị ghi đè bằng cách hợp nhất'. Không có thay đổi cục bộ?

Các tệp mà nó ném lỗi sẽ không bị phân biệt khi mở. không có tệp nào được thêm, xóa hoặc đổi tên. Không có gì bị bỏ qua và không có gì là không được báo cáo hoặc dàn dựng hoặc không được tổ chức. Tôi hoàn toàn bối rối là tại sao việc rebase lại thất bại.

Tôi đang trên OS X 10.6.6 và git 1.7.4

.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git rebase bug586-test master-test 
First, rewinding head to replay your work on top of it... 
Applying: - comiitting code related to api permissions 
Using index info to reconstruct a base tree... 
Falling back to patching base and 3-way merge... 
error: Your local changes to the following files would be overwritten by merge: 
    inc/data.inc 
    templates/apipermissions_tpl.inc 
    templates/currencies_tpl.inc 
Please, commit your changes or stash them before you can merge. 
Aborting 
Failed to merge in the changes. 
Patch failed at 0001 - comiitting code related to api permissions 

When you have resolved this problem run "git rebase --continue". 
If you would prefer to skip this patch, instead run "git rebase --skip". 
To restore the original branch and stop rebasing run "git rebase --abort". 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git status 
# Not currently on any branch. 
nothing to commit (working directory clean) 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git rebase --abort 
HEAD is now at 5efccf1 - comiitting code related to api permissions 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git log -n10 --oneline 
5efccf1 - comiitting code related to api permissions 
a8a5ee4 Style changes for IE 
cfca618 Style changes for IE 
8a69de6 Style changes for IE 
8946585 - comiitting code related to api permissions - fixed an html error in the currencies template 
5fba0a9 Merges the 1.11b branch bugfixes and changes into trunk 
ef57049 Andrew Commiting on Blakes behalf on changes he made to transfers; Also an Indue GW balance fix; debitcarupload fix for LSN 
69e4313 Fixed an issue with Support From email 
9058fb6 Sets the svn property svn:eol-style to LF, to enforce unix style line endings 
240839e Fixes up a lot of the whitespace issues. 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git checkout bug586-test 
Switched to branch 'bug586-test' 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git log -n10 --oneline 
b7b1f8a Resolves #586, Postback on deposit 
5fba0a9 Merges the 1.11b branch bugfixes and changes into trunk 
ef57049 Andrew Commiting on Blakes behalf on changes he made to transfers; Also an Indue GW balance fix; debitcarupload fix for LSN 
69e4313 Fixed an issue with Support From email 
9058fb6 Sets the svn property svn:eol-style to LF, to enforce unix style line endings 
240839e Fixes up a lot of the whitespace issues. 
cf27b6f - bug that came up with transferring. The transfer page had a hidden field called to, which was taking precedence over cards and usercard which would throw the system out a bit 
7c21a81 Fixes #603, new add transaction form, journalled. 
01e6292 Removes a pile of resource forks 
880c5bc - bug that came up with transferring. The transfer page had a hidden field called to, which was taking precedence over cards and usercard which would throw the system out a bit 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git rebase master-test bug586-test 
First, rewinding head to replay your work on top of it... 
Applying: Resolves #586, Postback on deposit 
Using index info to reconstruct a base tree... 
<stdin>:52: trailing whitespace. 
       'name' => 'Invoice Transfer Out', 
<stdin>:175: trailing whitespace. 

warning: 2 lines add whitespace errors. 
Falling back to patching base and 3-way merge... 
error: Your local changes to the following files would be overwritten by merge: 
    templates/deposit_tpl.inc 
Please, commit your changes or stash them before you can merge. 
Aborting 
Failed to merge in the changes. 
Patch failed at 0001 Resolves #586, Postback on deposit 

When you have resolved this problem run "git rebase --continue". 
If you would prefer to skip this patch, instead run "git rebase --skip". 
To restore the original branch and stop rebasing run "git rebase --abort". 



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------([email protected])- 
`--> git rebase --abort 
HEAD is now at b7b1f8a Resolves #586, Postback on deposit 
+0

Bạn nên đăng nội dung của trạng thái git, nội dung của gitignore và ls trong các thư mục được đề cập một cách riêng biệt, vì vậy nó dễ đọc hơn. Điều đó có thể giúp một số, ít nhất. – Kzqai

+0

Bạn có bất kỳ cài đặt crlf nào hay không? Rebase không nên tạo ra một cây làm việc bẩn như thế. Và 'trạng thái git' có thể hữu ích là khi rebase không thành công. Nó từ chối chạy với một cây bẩn; chúng tôi biết nó sạch sẽ trước khi bạn bắt đầu. Đó là trạng thái khi có * là * sửa đổi cục bộ đang gây ra sự cố. – Cascabel

+0

Bạn có chắc chắn về thứ tự của các tham số để git rebase không? Các ref đầu tiên là một trong để rebase, trong khi ref thứ hai tùy chọn là một trong đó sẽ được kiểm tra đầu tiên. Có lẽ bạn nên trao đổi chúng. –

Trả lời

159

Đây là câu trả lời giống như một một trong những câu hỏi của tôi lại khó khăn git.

Tôi đang sử dụng máy Mac và thay đổi cấu hình tối nghĩa này dường như khắc phục tất cả các tai ương của tôi liên quan đến những thay đổi chưa được chỉnh sửa khi không có thay đổi.

git config --global core.trustctime false 

Tôi nghĩ rằng đó là việc phải làm với sự khác biệt giữa thời gian tệp cửa sổ, thời gian tệp linux và thời gian tệp mac. những người hiểu biết, cảm thấy tự do để bình luận nếu bạn làm.

Cập nhật: This blog post giải thích những gì đang xảy ra, sắp xếp.

+1

Giải quyết vấn đề cho tôi. –

+1

Cảm ơn! Tôi chưa bao giờ nghĩ ra điều này. –

+1

Đó là ma thuật đặc biệt. StackOverflow FTW một lần nữa! –

27

Liên quan đến câu trả lời của Joshua Hogendorn: có vẻ như với tôi rằng việc để Xcode mở trong khi làm việc trên kho lưu trữ với git dẫn đến những vấn đề này. Nó thậm chí đã dẫn đến một tình huống mà git cam kết một cái gì đó mà tôi nghĩ đã có cất giấu (và vẫn còn có sau đó) nhưng Xcode chỉ viết cho hệ thống tập tin ngay trong rebase.

Vì vậy: Đóng dự án Xcode của bạn trước khi bạn làm việc trên repo với git nếu bạn muốn được an toàn, và sau đó bạn có thể không cần cài đặt false.trustctime false.

+0

Có lẽ bạn đã có một số loại" tự động lưu tập tin mỗi N phút "thiết lập hoạt động trong IDE của bạn? Đừng làm thế. –

+0

Tôi đã cố gắng ... và làm việc cho tôi! Đóng xcode trước khi thực hiện rebase. Lãng phí một số nhiều thời gian cho không có gì. Cảm ơn ! – Gros

+0

Tôi đã có các lỗi tương tự như trên mặc dù tôi đang sử dụng Aptana Studio 3. Khi tôi thoát khỏi Aptana, việc rebase đã hoạt động. Tôi đã tắt tích hợp git của Aptana vài ngày trước. Hoặc là nó không thực sự tắt hoặc tôi nên khởi động lại Aptana. –

Các vấn đề liên quan