Mengkloning konten repositori GitHub (tanpa folder itu sendiri)

233

Saya ingin git cloneisi repositori yang saya miliki di GitHub . Ketika saya git clone(git @ github: me / name.git ...) Saya mendapatkan folder bernama name/dan di dalam nama saya memiliki konten saya ... Bagaimana saya mendapatkan HANYA isinya?

mazlix
sumber
Untuk benar-benar melewati pengunduhan objek yang tidak diperlukan untuk menghemat sumber daya jaringan: stackoverflow.com/questions/600079/…
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Jawaban:

314

Jika direktori saat ini kosong, Anda dapat melakukannya dengan:

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

(Catat .di bagian akhir untuk menentukan direktori saat ini.) Tentu saja, ini juga membuat .gitdirektori di folder Anda saat ini, bukan hanya kode sumber dari proyek Anda.

[directory]Parameter opsional ini didokumentasikan dalam git clonehalaman manual , yang menunjukkan bahwa kloning ke direktori yang ada hanya diperbolehkan jika direktori itu kosong.

Mark Longair
sumber
2
Sayangnya, ini tidak berfungsi jika ada direktori lain yang tidak terkait sudah dalam direktori yang sama. Mencari solusi. Pesan kesalahan adalah: "fatal: path tujuan '.' sudah ada ... "
John Little
12
Direktori git
clon ke dalamnya
1
@HumaunRashid Tambahkan .seperti yang dibahas dalam jawaban: git clone https://github.com/humaun21/Test .. Dan ya, [email protected]/name.gitadalah pengganti untuk apa pun alamat git repo Anda yang sebenarnya.
Aaron Campbell
1
@JohnLittle Punya masalah yang sama, ternyata ada file .DS_Store tersembunyi, yang bersembunyi di sana. Cukup rm .DS_Storedan Anda baik untuk pergi.
Selrond
1
Jika Anda bekerja pada OS linux, Anda harus memastikan direktori tersebut kosong termasuk memeriksa file dan subdirektori yang tersembunyi. Anda dapat melakukannya dengan ls-a. Anda seharusnya hanya punya. dan .. sebagai output. Ini tidak akan berhasil jika tidak
Ayo Makanjuola
156

Sayangnya, ini tidak berfungsi jika ada direktori lain yang tidak terkait sudah dalam direktori yang sama. Mencari solusi. Pesan kesalahan adalah: "fatal: path tujuan '.' sudah ada...".

Solusi dalam hal ini adalah:

git init
git remote add origin [email protected]:me/name.git
git pull origin master

Resep ini berfungsi bahkan jika ada direktori lain yang ingin Anda periksa.

John Little
sumber
Hai dalam hal ini saya mendapatkan kesalahan seperti Izin ditolak <kunci publik>. Ujung jarak jauh menutup secara tak terduga.
Stan
Bukankah seharusnya github.comada di sana setelah itu git remote ..., dan bukan hanya github?
amn
5
Jawaban ini seharusnya diterima satu. bekerja dengan sempurna.
vikramvi
Saya membaca di tempat lain di sini bahwa Anda perlu menjalankan git fetch --allsebelum git pull origin master, karena jika ada cabang lain di repo, git pulltidak akan mendapatkannya kecuali Anda menggunakannya fetchterlebih dahulu. Apakah ini benar?
Alex G
38

Jika foldernya tidak kosong, jawaban @ JohnLittle versi yang sedikit dimodifikasi berhasil untuk saya:

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

Seperti yang ditunjukkan oleh @ peter-cordes, satu-satunya perbedaan adalah menggunakan protokol https alih-alih git, di mana Anda perlu mengonfigurasi kunci SSH .

Tomáš Zemanovič
sumber
Apa versi git yang Anda jalankan? Ini tidak berhasil untuk saya. Masih tidak akan membiarkan saya mengaturnya karena dir tidak kosong
guribe94
@ guribe94 git versi 2.5.0
Tomáš Zemanovič
3
Ini adalah jawaban yang sama, hanya menggunakan https anonim alih-alih protokol git melalui ssh (memerlukan akun github dengan pengaturan kunci ssh yang diatur).
Peter Cordes
15

Anda dapat menentukan direktori tujuan sebagai parameter kedua dari git cloneperintah, sehingga Anda dapat melakukan:

git clone <remote> .

Ini akan mengkloning repositori secara langsung di direktori lokal saat ini.

Laurent Pireyn
sumber
2

untuk mengkloning git repo ke folder saat ini dan kosong (tidak git init) dan jika Anda tidak menggunakan ssh:

git clone https://github.com/accountName/repoName.git .
fingerman
sumber
1

pekerja ini untukku

git clone <repository> .
Diego Santa Cruz Mendezú
sumber