2012-04-20 38 views
8

tôi có vấn đề lạ. Im bằng cách sử dụng TortoiseGIT (Win7) và kho của tôi được đặt trên một máy chủ vritual (Debian), nơi im sử dụng gitolite và các khóa SSH.Không hoạt động - TortoiseGIT/Windows 7/GIT trên Debian + gitolite

tôi có thể clone kho để máy tính của tôi, tôi có thể chạy Fetch, Push, Commit, Sync .. tất cả mọi thứ, nhưng khi cố gắng Pull những thay đổi từ máy chủ Pushed bởi đóng góp khác, các lỗi sau xuất hiện:

git.exe pull -v --progress  "origin" 
fatal: 'pull' appears to be a git command, but we were not 
able to execute it. Maybe git-pull is broken? 
git did not exit cleanly (exit code 128) 

Tôi không hiểu, tại sao chỉ lệnh pull không hoạt động .. cảm ơn bạn đã được trợ giúp.

Tôi có thể tạo bản sao của kho lưu trữ, với các thay đổi đã đóng góp .. nhưng không thể Pull thay đổi đối với kho lưu trữ được tạo trên máy tính của tôi.

Trả lời

1

Các thông báo lỗi được rất nhiều liên quan đến Git, và xuất phát từ help.c:

static const char bad_interpreter_advice[] = 
    N_("'%s' appears to be a git command, but we were not\n" 
    "able to execute it. Maybe git-%s is broken?"); 

Đó là tương tự như issue 40 (GUI khác, đây terminal-ide).

Trong trường hợp đó, đó là do quá trình cài đặt Git từ xa, đó là không đầy đủ

(Comments 3 of issue 19)

git-merge cũng đã mất tích từ cài đặt, có thể được cố định với

$> ln -s git git-merge 

in system/bin/

Độ phân giải có thể không được chính xác như nhau trong trường hợp của bạn, nhưng nó có thể liên quan đến một cài đặt Git bị lỗi.

+0

cảm ơn câu trả lời của bạn.điều duy nhất tôi đã làm trên máy chủ ảo của tôi, là bản cập nhật componen (có thể nó đã giúp). Bây giờ nó đang làm việc tốt. Tôi không biết vấn đề là gì, nhưng tôi thực sự đánh giá cao sự giúp đỡ của bạn. tôi sẽ lưu câu trả lời của bạn cho tương lai. – arnie

2

Gỡ cài đặt cũ Git và cài đặt lại bản dựng mới nhất đã khắc phục sự cố này cho tôi.

Dưới đây là một liên kết đến những phần cài đặt Link to get installers

báo lỗi chính xác của tôi đã

C:\Program Files (x86)\Git/libexec/git-core\git-pull: line 304: exec: git-merge: not found 
fatal: 'pull' appears to be a git command, but we were not 
able to execute it. Maybe git-pull is broken? 
13

tôi gặp phải vấn đề này cùng sau khi thay đổi sh.exe thực thi git Bash là luôn luôn chạy as administrator (để nhận được một vấn đề khác). Sau đó nó để lại git không thể truy cập nó trong các tình huống nhất định và gây ra nhiều "Có thể git- * bị hỏng?" lỗi. Có lẽ điều này có thể giúp ai đó ...

+0

Tôi không thể cảm ơn đủ! Đó là một giải pháp rất không rõ ràng, câu trả lời của bạn có thể giúp tôi tiết kiệm hàng giờ. Ngay cả khi cài đặt lại msysgit cũng không giúp được gì, rõ ràng Windows đã được gắn chặt với thiết lập đó ngay cả khi bản thân nó có thể được gỡ bỏ. – sundar

+0

Tôi giả định thông báo lỗi này có thể có nhiều người cha, nhưng câu trả lời của bạn đã giải quyết nó cho tôi. Chỉ muốn chắc chắn rằng câu trả lời này nhận được một số sự chú ý cho những người rơi vào cùng một cái bẫy bản thân mình và sundar. Ngoài ra, nó đã xảy ra trong Git Extensions cho tôi, không phải TortoiseGit – EatATaco

+1

+1 Đây là câu trả lời. – fiberOptics

0

Tôi thấy rằng bạn có thể chạy "git fetch". Nếu bạn cũng có thể chạy "git merge", chạy chuỗi "git fetch" theo sau "git merge" sẽ thực hiện tương tự như "git pull".

Nguồn: http://git-scm.com/docs/git-pull

+1

Chạy 'git config --global merge.defaultToUpstream true' để thực sự bắt chước hành vi của' git pull' –

+0

+1 Phần sạch hơn – CW0lf

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