GitHubリポジトリのコンテンツのクローン(フォルダー自体なし)


232

私はしたいのですがgit clone、私は上の持っているリポジトリの内容GitHubの。ときに私git clone(のgit @ githubのを:私/ name.git ...)私はフォルダが呼び出されるname/と、私は私の内容を持っている内部の名前は...どのように私は内容を得るのですか?



:実際には、ネットワークリソースを節約するために、不要なオブジェクトのダウンロードスキップするstackoverflow.com/questions/600079/...
チロSantilli郝海东冠状病六四事件法轮功

回答:


313

現在のディレクトリが空の場合は、次のようにして実行できます。

git clone git@github:me/name.git .

.現在のディレクトリを指定する最後のに注意してください。)もちろん、これにより、.gitプロジェクトのソースコードだけでなく、現在のフォルダーにディレクトリも作成されます。

このオプションの[directory]パラメーターは、git cloneマニュアルページに記載されています。これは、既存のディレクトリへのクローン作成は、そのディレクトリが空の場合にのみ許可されることを示しています。


2
残念ながら、すでに同じディレクトリに他の関連しないディレクトリがある場合、これは機能しません。解決策を探しています。エラーメッセージは次のとおりです:「致命的:宛先パス '。」すでに存在しています...」
ジョンリトル

12
git
clones

1
@HumaunRashid .回答で説明したようにを追加しますgit clone https://github.com/humaun21/Test .。そして、はい、git@github.me/name.gitあなたの実際のgit repoアドレスが何であれプレースホルダーです。
アーロンキャンベル

1
@JohnLittle同じ問題がありましたが、隠された.DS_Storeファイルがあり、そこに隠れています。単にrm .DS_Store、あなたは行ってもいいです。
Selrond 2017年

1
Linux OSで作業している場合は、隠しファイルとサブディレクトリのチェックを含め、ディレクトリが空であることを確認する必要があります。これはls -aで実行できます。あなただけが必要です。および..出力として。これは他の方法では機能しません
Ayo Makanjuola

156

残念ながら、同じディレクトリにすでに関連のない他のディレクトリがある場合、これは機能しません。解決策を探しています。エラーメッセージは次のとおりです:「致命的:宛先パス '。」もう存在している..."。

この場合の解決策は次のとおりです。

git init
git remote add origin git@github.com:me/name.git
git pull origin master

このレシピは、チェックアウトするディレクトリに他のディレクトリがある場合でも機能します。


こんにちは、Permission denied <public key>のようなエラーが発生します。リモートエンドが突然ハングアップしました。
スタン

それだけではなく、github.com後に表示されるべきではgit remote ...ありませんgithubか?
2015年

5
この答えは受け入れられるべきでした。完璧に動作します。
vikramvi 2016年

リポジトリのgit fetch --all前にgit pull origin master他のブランチがあるgit pull場合、fetch最初に使用しない限りそれらを取得できないため、の前に実行する必要があることを他の場所で読みました。これは正しいです?
Alex G

38

フォルダーが空でない場合は、@ JohnLittleの回答を少し変更したバージョンでうまくいきました。

git init
git remote add origin https://github.com/me/name.git
git pull origin master

@ peter-cordesが指摘したように、唯一の違いは、gitの代わりにhttpsプロトコルを使用することです。これには、SSHキーを構成する必要があります


実行しているgitのバージョンは何ですか?これは私にはうまくいきませんでした。dirが空ではないので、
それでもセットアップ

@ guribe94 gitのバージョン2.5.0
トマーシュZemanovič

3
これは同じ答えです。sshでgit-protocolの代わりに匿名のhttpsを使用するだけです(sshのキーペアが設定されたgithubアカウントが必要です)。
Peter Cordes 2017年

15

git cloneコマンドの2番目のパラメーターとして宛先ディレクトリーを指定できるため、次のことができます。

git clone <remote> .

これにより、リポジトリが現在のローカルディレクトリに直接複製されます。


2

クローンgitのレポへの現在(なしフォルダgit init)とsshを使用しない場合:

git clone https://github.com/accountName/repoName.git .

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.