プロジェクトフォルダなしのgitクローン


86

サーバーへのアクセスを許可しました。ルートフォルダーにgitリポジトリのクローンを作成したいと思います。しかし、git cloneを実行すると、プロジェクト名のフォルダーが作成され、プロジェクトフォルダーがルートになります。私のルートは私の親フォルダにアクセスできません

/var/www/sites/mysite/

クローンを作成すると、フォルダ構造は次のようになります。

/var/www/sites/mysite/mysite

2
選択したapache / webserverで.gitを配信しないようにしてください。
mnagel 2013

回答:


199

git clone宛先ディレクトリである最後の引数を受け入れます。デフォルトではプロジェクトの名前ですが、変更できます。あなたの場合、あなたはおそらく単純に欲しいでしょう.

$ git clone origin-url .

ただし、次の点に注意してくださいman git-clone

既存のディレクトリへのクローン作成は、ディレクトリが空の場合にのみ許可されます。


4
git clone @rodrigo ./heaven
a_m_dev

そして、2つのレベルを深く複製するのはどうですか?pom.xmlの上に2つのフォルダーがありますか?
Bionix14 4120

1
@ Bionix1441:あなたのディレクトリ構造についてはわかりませんが、あなたが2レベル下にいる場合は、を書くだけgit clone aaa/bbbです。2つのレベルを上げたい場合は試すことができますがgit clone ..、親のdirectoyが空になることはないため、うまくいきません。
ロドリゴ

構造は次のとおりfolder1\folder2\pom.xmlです。必要なのは、pom.xmlと同じレベルのフォルダのみですpom.xml
Bionix14 4120

36

新しいリポジトリを設定してから、追跡リモートとブランチを設定することもできます。

git init .
git remote add origin git@github.com:user/repo.git
git fetch origin
git checkout master

リポジトリに親フォルダがある場合、これはまだ機能しません
Hittz 2015

アップストリームブランチも一致するように設定するgit branch --set-upstream-to=origin/master master 必要がありました。次に、ローカルの変更をリモートブランチにプッシュする必要がありgit push --force ました。これにより、古いリモートブランチがローカルの最新のコピーに置き換えられました。
ダニエルZA20年

8

これはWindowsでもうまく機能しています。

git init
git remote add origin git@github.com:user/repo.git
git pull origin master

5

gitリポジトリは、単にそれを格納するディレクトリ構造であることに注意してください。つまり、リポジトリを間違ったディレクトリに複製した場合、ディレクトリの内容を任意の場所に移動するだけで、リポジトリデータはそのまま残ります。したがって、たとえば、コマンドラインから次のコマンドを実行できます。

$ mv /var/www/sites/mysite/mysite/* /var/www/sites/mysite`
$ mv /var/www/sites/mysite/mysite/.* /var/www/sits/mysite`
$ rmdir /var/www/sites/mysite/mysite

4

プロジェクトをサブフォルダーに複製すると、.gitフォルダーを含むすべてのファイルが親フォルダー(ルート)に移動されます。


3
git clone git@github.com:whatever。\
dzona 2013

それは可能です、ロドリゴスの答えを見てください。しかし、gitリポジトリは自由に移動できるファイルの集まりにすぎないことを知っています。この答えは覚えやすいです。
mnagel 2013

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