2013-07-02 25 views
10

Tôi đang sử dụng git bash cho Windows:Tại sao git pull hiển thị các nhánh mới mọi lúc?

$ git version 
git version 1.8.0.msysgit.0 

Tất cả mọi thứ đã làm việc tốt trong nhiều tháng, tôi đã dần dần làm quen với cách thức hoạt động git, sau đó tất cả của một đột ngột, git pull được lấy một số chi nhánh "mới" mỗi khi tôi cố gắng kéo:

[email protected] /d/Projects/MyProject (master) 
$ git pull 
From github.com:ClientUsername/RepoName 
* [new branch]  branch1 -> origin/branch1 
* [new branch]  branch2 -> origin/branch2 
Already up-to-date. 

[email protected] /d/Projects/MyProject (master) 
$ git pull 
From github.com:ClientUsername/RepoName 
* [new branch]  branch1 -> origin/branch1 
* [new branch]  branch2 -> origin/branch2 
Already up-to-date. 

Tôi đã định cấu hình gì đó không chính xác? Đây có phải là hành vi bình thường không?


EDIT

Sau khi một số ý kiến ​​hữu ích, tôi đã xóa các tập tin từ chi nhánh .git \ refs \ khiển từ xa \ xứ. Tôi đã cố kéo lại và nhận các thông tin sau:

[email protected] /d/Projects/MyProject (master) 
$ git pull 
From github.com:ClientUsername/RepoName 
* [new branch]  Branch1 -> origin/Branch1 
* [new branch]  Branch2 -> origin/Branch2 
* [new branch]  branch1 -> origin/branch1 
* [new branch]  branch2 -> origin/branch2 
Already up-to-date. 
[email protected] /d/Projects/MyProject (master) 
$ git pull 
From github.com:ClientUsername/RepoName 
* [new branch]  Branch1 -> origin/Branch1 
* [new branch]  Branch2 -> origin/Branch2 
Already up-to-date. 

Sự khác biệt duy nhất là trường hợp của tên chi nhánh?

+0

lạ thực sự. Sau khi kéo được những ngành được liệt kê? Họ có mặt dưới .git/refs/remotes/origin? –

+0

Vâng, họ ở đó ... git branch -a, phải không? – Spikeh

+2

'git branch -r'. Tôi muốn xóa .git/refs/remotes/origin/branch1 và 2 như lần thử đầu tiên –

Trả lời

8

Tôi có thể tạo lại hành vi bằng cách có một chi nhánh không được liệt kê trong .git/packed_refs và đổi tên tệp của nó bằng .git/refs/remotes/origin thành cùng một trường hợp nhưng khác. (trên hệ thống tệp NTFS). Và nó được chữa khỏi bằng cách đổi tên lại.

Đoán xem bạn có thể đổi tên thành biểu mẫu khớp với tên từ xa không, nó sẽ là một sửa chữa cho bạn.

Suy nghĩ nhiều hơn, và sử dụng các hình thức đầu tiên sau khi chỉnh sửa:

Bạn phải có hai chi nhánh với tên tương tự chỉ khác nhau trong trường hợp trên từ xa!

Và vấn đề là do họ muốn tạo cùng một tệp. Bạn phải sửa nó trên điều khiển từ xa, bằng cách đổi tên một trong những nhánh tương tự.

+0

Vâng, tôi đã thử tất cả các gợi ý của bạn, nhưng nó vẫn đang xảy ra Nó gần giống như repo địa phương của tôi được thiết lập để kéo cùng một nhánh hai lần Tôi sẽ sao chép lại – Spikeh

+0

Cảm ơn bạn rất nhiều, bằng cách này :) – Spikeh

+0

xem chỉnh sửa cho giải pháp có khả năng –

5

Như bạn có thể thấy ở đây:

* [new branch]  Branch1 -> origin/Branch1 
* [new branch]  Branch2 -> origin/Branch2 
* [new branch]  branch1 -> origin/branch1 
* [new branch]  branch2 -> origin/branch2 

Bạn có 4 chi nhánh và cặp trong số họ có cùng tên với nhau trên/chữ thường. Điều này không thể được nhân đôi trên Windows vì các chi nhánh được lưu trữ dưới dạng tệp và bạn không thể có hai tệp Branch1branch1 trong cùng một thư mục.

Để khắc phục điều đó, hãy xóa một trong số này, bằng cách chạy git push origin :Branch1 và tương tự cho Branch2.

2

Đã xảy ra sự cố tương tự, sự cố xảy ra với thư mục cục bộ hiện tại không khớp với tên trong máy chủ từ xa do sự khác biệt phân biệt chữ hoa chữ thường. gì làm việc đối với tôi là sẽ

.git/refs/remotes/origin 

nơi bạn có thể tìm thấy tên thư mục ngành bị ảnh hưởng và một trong hai đổi tên nó thành tên gợi ý trong dòng *[new branch] HOẶC xóa nó và pull một lần nữa, pull sẽ tái tạo trong trường hợp hệ thống tập tin chính xác.

Mặc dù lần chỉnh sửa cuối cùng của bạn giống như trong máy chủ từ xa, bạn có cả hai thư mục (ví dụ: Branch1branch1) nên tôi sẽ kiểm tra xem thư mục nào đúng và xóa từ xa sai, sau đó đảm bảo tên thư mục phù hợp với địa chỉ ở địa phương của bạn.

0

gì làm việc cho tôi chỉ đơn giản là:

rm .git/index 
git reset 
+0

Sẽ phải giải thích những gì bạn đang làm ở đây và liệu có tác dụng phụ hay không – PandaWood

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