10

私はTimDavisのガイドに従って「setup-a-msysgit-server-with-copssh-on-windows」を実行し、Jason Meridthのガイドに従ってgitコマンドの使用方法を学習しいましたが、なんとかすべてを取得できました。正常に動作していますが、pushコマンドを渡すことができません。

サーバーとクライアントを同じマシン(今のところ)、win7-x64に設定しました。

設定方法に関する情報は次のとおりです。

CopSSH Folder     : C:/SSH/
Local Home Folder : C:/Users/rvc/
Remote Home Folder: C:/SSH/home/rvc/          # aka /cygdrive/c/SSH/home/rvc/
git remote rep    : C:/SSH/home/rvc/myapp.git # empty rep

'/SSH/home/rvc/.bashrc'および'Users/ rvc / .bashrc':

export HOME=/cygdrive/c/SSH/home/rvc
gitpath='/cygdrive/c/Program Files (x86)/Git/bin'    
gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${gitpath}:${gitcorepath}:${PATH}

したがって、クローン作成は機能します(以下のすべては「GitBashhere」を介して行われます:P):

rvc@RVC-DESKTOP /c/code
$ git clone ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git
Initialized empty Git repository in C:/code/myapp/.git/
warning: You appear to have cloned an empty repository.

rvc@RVC-DESKTOP /c/code
$ cd myapp

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git remote -v
origin  ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git (fetch)
origin  ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git (push)

次に、ファイルを作成します。

rvc@RVC-DESKTOP /c/code/myapp (master)
$ touch test.file

rvc@RVC-DESKTOP /c/code/myapp (master)
$ ls
test.file

それをプッシュして、このエラーを取得してみてください:

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git add test.file

rvc@RVC-DESKTOP /c/code/myapp (master)
$ GIT_TRACE=1 git push origin master
trace: built-in: git 'push' 'origin' 'master'
trace: run_command: 'C:\Users\rvc\bin\plink.exe' '-batch' '-P' '5858' 'rvc@192.1
68.1.65' 'git-receive-pack '\''/SSH/home/rvc/myapp.git'\'''
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

「git:'/SSH/home/rvc/myapp.git'はgitコマンドではありません。'git--help'を参照してください。」.. 何?!

編集: RAAAGE !!

私は再び同じ問題を抱えていますが、今はsshで:

rvc@RVC-DESKTOP /c/code/myapp (master)
$ GIT_TRACE=1 git push
trace: built-in: git 'push'
trace: run_command: 'ssh' '-p' '5858' 'rvc@192.168.1.65' 'git-receive-pack '\''/
SSH/home/rvc/myapp.git'\'''
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

GUIプッシュを試しましたが、同じメッセージが表示されます。

git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
Pushing to ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git
fatal: The remote end hung up unexpectedly

現在の.bashrcは次のとおりです。

C:\ Users \ rvc.bashrc(これはcygwin / git bashでのみ使用されると思います):

export HOME=/c/SSH/home/rvc

gitpath='/c/Program Files (x86)/Git/bin'

gitcorepath='/c/Program Files (x86)/Git/libexec/git-core'
export GIT_EXEC_PATH=${gitcorepath}

PATH=${gitpath}:${gitcorepath}:${PATH}

C:\ SSH \ home \ rvc.bashrc(..これはgitがssh経由で「リモート」サーバーに接続するときに使用されます):

export HOME=/c/SSH/home/rvc

gitpath='/cygdrive/c/Program Files (x86)/Git/bin'

gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
export GIT_EXEC_PATH=${gitcorepath}

PATH=${gitpath}:${gitcorepath}:${PATH}

編集2: いくつかの追加情報:

rvc@RVC-DESKTOP /c/code/myapp (master)
$ ssh -p 5858 rvc@192.168.1.65 git-receive-pack /SSH/home/rvc/myapp.git
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.


編集3:

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git push --receive-pack='git receive-pack' ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git --a
ll
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git
 * [new branch]      master -> master

これはトリックをしましたか?

gitpushは「git-receive-pack」を実行しています。「gitreceive-pack」である必要がありますか?

私のgitバージョンは「gitバージョン1.7.0.2.msysgit.0」です

4

4 に答える 4

11

愚かな修正(これにより/SSH/home/rvc/.gitconfigが変更されました):

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git config --global remote.origin.receivepack "git receive-pack"

rvc@RVC-DESKTOP /c/code/myapp (master)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 246 bytes, done.
Total 2 (delta 0), reused 0 (delta 0)
To ssh://rvc@192.168.1.65:5858/SSH/home/rvc/myapp.git
   680f32e..2da0df1  master -> master
于 2010-04-30T15:16:29.107 に答える
1

1)この問題のほとんどの原因-GitBashウィンドウを開いて入力しますecho $HOME-に設定されていることを確認し/c/SSH/Home/<user>/ます。そうでない場合–入力export HOME=/c/SSH/home/<user>

2)GUIインターフェースを試してください[同じ問題?]

于 2010-04-29T13:47:26.247 に答える
1

答えを見つけました...

GIT_SSH

If this environment variable is set then git fetch and git push will

リモートシステムに接続する必要がある場合は、sshの代わりにこのコマンドを使用してください。$ GIT_SSHコマンドには、正確に2つの引数が与えられます。URLからのusername @ host(または単にhost)と、そのリモートシステムで実行するshellコマンドです。

To pass options to the program that you want to list in GIT_SSH you

プログラムとオプションをシェルスクリプトにラップしてから、シェルスクリプトを参照するようにGIT_SSHを設定する必要があります。

Usually it is easier to configure any desired options through your

個人の.ssh/configファイル。詳細については、sshのドキュメントを参照してください。

Windows環境変数からGIT_SSH変数を削除する必要がありました。

Tim Davisのガイドに従っているので、TortoiseGitを使用せずに設定しました。ガイドでは、変数をTortoisePlinkにポイントするように指示されているため(ステップ4.4)、plink.exe:Pをポイントする必要があると想定しました。さて..次の問題に移ります...

于 2010-04-29T13:49:50.843 に答える
1

ありがとうございました!私もエラーが発生していました

git: '/pathToRepo/myRepoName.git' is not a git command See 'git --help'.
fatal: The remote end hung up unexpectedly

gitconfigコマンドは私のために働いた。

git config --global remote.origin.receivepack "git receive-pack"

MSysGit-1.7.3.1を実行しています

于 2011-01-12T13:39:17.073 に答える