1

Cygwin から最初のリビジョンを git リポジトリにコミット (git commit) しようとすると、gvim で「"foo\.git\COMMIT_EDITMSG" [New Directory] ​​のスワップ ファイルを開けません」というエラーが表示されます。ある種のパーミッションの問題かもしれないと思いますが、フォルダーから読み取り専用フラグを削除し、所有者を再帰的に調整して (Cygwin では chown ではなく、Windows のプロパティ タブを使用して) アカウントになるようにしました。デフォルトのエディタをメモ帳に変更すると、ファイル (COMMIT_EDITMSG) が存在し、以下が含まれていても、「指定されたファイルが見つかりません」というメッセージが表示されます。

# Please enter the commit message for your changes.
# (Comment lines starting with '#' will not be included)
# etc...

この問題をさらにトラブルシューティングするにはどうすればよいですか?

4

4 に答える 4

3

「foo\.git\COMMIT_EDITMSG」[新しいディレクトリ] のスワップ ファイルを開くことができません。

git commitはファイル パスを POSIX パスではなく Windows パスとして渡しているようです。\メッセージに注意してください。

gvim存在しない「foo.gitCOMMIT_EDITMSG」を開こうとしています。

は使用しませんがgit、に似た環境変数を使用していると思いますSVN_EDITORcygpathファイル パスを Windows から Posix セパレータに変更するために使用する小さなスクリプトを使用して、編集セッションをラップする必要がある場合があります。

#!/bin/bash
gvim "$(cygpath --unix "${1}")"

警告 Emptor、テストされていません。

于 2008-11-01T21:54:06.127 に答える
1

cygwin ( Windows ネイティブ)で mingw または msysgit git を使用しています。cygwin エディター (gvim) を使用している場合、これは機能しません。\ は POSIX のパス区切りではなく、次の文字をエスケープします。

cygwin git パッケージをインストールするか、適切な mingw/msysgit エディターを使用する必要があります。

また、mingw git.exe が /usr/bin の前の PATH にある可能性もあります。次に、PATH を修正します。

このような質問は通常、http://cygwin.com/problems.html で処理されます。メーリングリストの cygcheck -s -v -r > cygcheck.out 。その後、もっと見ることができました。

于 2010-12-20T20:59:40.597 に答える
0

初めて同じ問題に直面しましたが、これが正常であることがわかりました。ただ、Vim の扱い方を覚えていません。そのリンクで解決策を見つけました: http://vim.runpaint.org/basics/quitting-vim/。vim コマンド :x を使用して、コメントを保存し、変更をコミットしました。このリンクから Git と Vim の統合について読むことができます: http://vim.runpaint.org/extending/integrating-vim-with-git/

于 2010-02-05T19:31:49.837 に答える
0

「cygpath」の場合は、次を試してください。

cygdrive -a -m COMMIT_EDITMSG

次のスタイルのパスが必要になる場合があります。

D:/path/to/your/working_directory/.git/COMMIT_EDITMSG

于 2011-01-23T15:56:20.313 に答える