2016-07-28 1 views
1

私は数量3のWindows 7プロフェッショナルマシンを持っています。 Gitをインストールした2台の開発マシン(1台のデスクトップと1台のラップトップ) 3番目はGitがインストールされているファイルサーバとしてセットアップされ、さらにSSHサーバとして実行されます。ユーザー名、パス、および別のドライブにスペースを入れたgitクローンssh

私はYouTubeのリンクCreating a Git Server on a Windows OSを参照しており、16:15分に達しました。この時点までのビデオを要約すると、3台すべてのマシンにGitをインストールし、ファイルサーバーにBitvise SSH Serverをインストールし、サーバー上にGitリポジトリを作成し、リモート(ファイルサーバー)を '複製'しようとしました。リポジトリをデスクトップフォルダにコピーします。

私の質問は、「ユーザー名」にスペースがあり、サーバー上のレポに「パス」がある場合、どのようにGitコマンドを明示しますか?さらに、サーバー上のレポはC:ドライブにありません。それはD:ドライブ上にあります。これは事を複雑にしますか?

これは、LAN経由でsshを使用する練習だけではありません。私はこれを使用して、デスクトップとラップトップの両方からのレポをLAN上とラップトップから、必要なときにはいつでも(WAN)でもアクセスできます(プルとプッシュ)。

私は次のことを試してみましたし、ちょうど約すべての組み合わせは、その成功せず、インターネット上で見つかった:

git clone "ssh://user [email protected]/path to/repo" 
git clone "ssh://user [email protected]/d/path to/repo" 
git clone "ssh://user [email protected]/d:/path to/repo" 

(例えば上記の最初の行を使用した場合)私は、次のエラーが発生します:

fatal: '/path to/repo' does not appear to be a git repository 
fatal: Could not read from the remote repository. 

Please make sure you have the correct access rights and the repository exists. 

「Bitvise SSHサーバーのコントロールパネル - アクティビティログ」は、正しいユーザー名(パスワードを要求されたらパスワード)を使用しているためアクセス権があることを知っています。ディレクトリ: "レポを\に\パスD" に加え、ファイルサーバ(--bare)リポジトリは間違いで

Connection from [{mac address}]:59251 logged in as Windows account 'FILE-SERVER\User Name'. 

が存在します。

hooks (dir) 
info (dir) 
objects (dir) 
refs (dir) 
config (file) 
description (file) 
HEAD (file) 

私は引用符でコマンドをラップしても問題ありませんか?

ディレクトリの最後に「.git」を追加する必要がありますか? EG: "repo.git"私は多くの人々がこれを行うことに気づいた。それは個人的な好み、書かれていない標準、または要件ですか?

最後に、Gitについては、パスの大文字と小文字が区別されますか?

ありがとうございました。

+0

はい、それに 'repo.git'を追加する必要があります。 – Shravan40

+0

@ Shravan40 - ディレクトリの最後とコマンドで '.git'を使っても、同じエラーが表示されます。 –

答えて

0

さて、これを達成するための方法を試しました。

git clone "ssh://user [email protected]:/D/path to/repo.git" 

Gitは、コマンドラインでスペースを含む他のコマンドと同じです。引用符で囲む...特殊文字を使用する場合、二重引用符はより限定的ではありません。

デフォルトのインストール(C:/)以外のドライブにGitリポジトリを置いても問題はありません。

ファイル拡張子 '.git'が必要です。

大文字と小文字は区別されますか?さて、Windowsを使用する場合、大文字と小文字の区別は問題ではありません。しかし、あなたが正しい、エラーのない(特にOS間で)ためには、常に大文字と小文字の区別の練習を反映することが最善です。 IE: 'A'は 'a'とは異なります。

最後に、別のドライブ文字をGitがインストールされているものに反映するために、コンピュータ名とスラッシュの間にコロンを置きます。これは私を踏みにじる問題でした。

この情報が他の人に役立つことを願っています。

0

はい、最後にrepo.gitにする必要があります。

あなたはこの

git clone ssh://[email protected]:/GitRepos/myproject.git

+0

ファイルサーバーディレクトリの名前を 'Repository'から 'Repository.git'に変更しました。 'git clone" ssh://ユーザー名@ file-server:/ path to/repo.git "は同じエラーを返します。 –

+0

@MidnightCoder:コメントセクションで実行している完全なコマンドを貼り付けてください。 – Shravan40

+0

git clone "ssh://ユーザ名@ file-server:/ path// website/repository.git" –

0

のような既存のgitリポジトリのクローンを作成することができますたとえば、私は正確に同じことを試み、失敗しています。 問題は、Windowsプラットフォーム上のCドライブにレポが存在するように見えます。

私はCドライブ上のウィンドウへのリンクやフォルダのヘルパーを使用して、それを解決した他のドライブ上のリポジトリに取得するには

git clone "ssh://<user name>@<file-server>/<path to repo>" 
    git clone "ssh://<user name>@<file-server>/c/<path to repo>" <= note: changed 'd' to 'c' 
    git clone "ssh://<user name>@<file-server>/c:/<path to repo>" 

のいずれかを使用して差は認められなかっ:

mkdir /<helper folder on c-drive> 
    cd /<helper folder on c-drive> 
    mklink /J <repo name> <drive letter>:/<path to repo> 

その後、ヘルパーフォルダからクローンしてください。

git clone "ssh://<user name>@<file-server>/<path to helper folder>/<repo name>" 
+0

これは私のためにシンボリックリンクなしで動作しました: 'git clone" ssh://ユーザー名@ file-server:/ D/path to/repo.git "' –

関連する問題