Ini ialah arahan git-fast-export yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
git-fast-export - Pengeksport data Git
SINOPSIS
pergi eksport cepat [pilihan] | pergi import cepat
DESCRIPTION
Program ini membuang semakan yang diberikan dalam bentuk yang sesuai untuk disalurkan pergi
import cepat.
Anda boleh menggunakannya sebagai pengganti berkas yang boleh dibaca manusia (lihat git-bundle(1)), atau sebagai sejenis
interaktif pergi cawangan penapis.
PILIHAN
--kemajuan=
Memasukkan kemajuan kenyataan setiap objek, untuk ditunjukkan oleh pergi import cepat semasa
import.
--signed-tags=(verbatim|amaran|amaran-jalur|jalur|batalkan)
Nyatakan cara mengendalikan tag yang ditandatangani. Oleh kerana sebarang transformasi selepas eksport boleh
tukar nama tag (yang juga boleh berlaku apabila mengecualikan semakan) tandatangan
tidak akan sesuai.
Apabila meminta kepada abort (yang merupakan lalai), program ini akan mati apabila menghadapi a
tag yang ditandatangani. Dengan jalur, tag akan dibuat tanpa tandatangan secara senyap, dengan jalur amaran mereka
akan dibuat tidak ditandatangani tetapi amaran akan dipaparkan, dengan kata demi kata, mereka akan
dieksport secara senyap dan dengan memberi amaran kepada, ia akan dieksport, tetapi anda akan melihat amaran.
--tag-of-filtered-object=(batalkan|jatuhkan|tulis semula)
Nyatakan cara mengendalikan teg yang objek bertegnya ditapis keluar. Sejak semakan dan
fail untuk dieksport boleh dihadkan oleh laluan, objek yang ditag mungkin ditapis sepenuhnya.
Apabila meminta kepada abort (yang merupakan lalai), program ini akan mati apabila bertemu
tag sebegitu. Dengan menggugurkan ia akan meninggalkan teg sedemikian daripada output. Dengan menulis semula, jika
objek teg adalah komit, ia akan menulis semula teg untuk menandakan komit nenek moyang (melalui
penulisan semula ibu bapa; lihat git-rev-list(1))
-M, -C
Lakukan pengesanan pergerakan dan/atau salinan, seperti yang diterangkan dalam git-diff(1) halaman manual, dan
gunakannya untuk menjana nama semula dan menyalin arahan dalam pembuangan output.
Ambil perhatian bahawa versi terdahulu arahan ini tidak merungut dan menghasilkan tidak betul
keputusan jika anda memberikan pilihan ini.
--export-marks=
Lambakkan jadual markah dalaman ke apabila lengkap. Markah ditulis satu setiap baris
sebagai :markid SHA-1. Hanya markah untuk semakan dibuang; markah untuk gumpalan diabaikan.
Bahagian belakang boleh menggunakan fail ini untuk mengesahkan import selepas ia selesai, atau untuk
simpan jadual markah merentasi larian tambahan. Sebagai hanya dibuka dan dipotong
apabila selesai, laluan yang sama juga boleh diberikan dengan selamat kepada --import-marks. Fail akan
tidak boleh ditulis jika tiada objek baru telah ditanda/dieksport.
--import-marks=
Sebelum memproses sebarang input, muatkan tanda yang dinyatakan dalam . Fail input mesti
wujud, mesti boleh dibaca dan mesti menggunakan format yang sama seperti yang dihasilkan oleh --export-marks.
Sebarang komitmen yang telah ditanda tidak akan dieksport lagi. Jika bahagian belakang
menggunakan fail --import-marks yang serupa, ini membenarkan penambahan dua arah
mengeksport repositori dengan mengekalkan tanda yang sama di seluruh larian.
--palsu-hilang-penanda
Sesetengah repositori lama mempunyai tag tanpa penanda. Protokol import pantas itu cantik
tegas tentang itu, dan tidak membenarkannya. Jadi penanda palsu untuk dapat mengimport pantas
keluarannya.
--guna-selesai-ciri
Mulakan strim dengan a ciri dilakukan rangkap, dan tamatkannya dengan a dilakukan perintah.
--tiada data
Langkau output objek gumpalan dan sebaliknya rujuk gumpalan melalui cincang SHA-1 asalnya.
Ini berguna apabila menulis semula struktur direktori atau sejarah repositori
tanpa menyentuh kandungan fail individu. Ambil perhatian bahawa aliran yang terhasil boleh
hanya digunakan oleh repositori yang sudah mengandungi objek yang diperlukan.
--pokok penuh
Pilihan ini akan menyebabkan eksport pantas mengeluarkan arahan "padam semua" untuk setiap komit
diikuti dengan senarai penuh semua fail dalam komit (berbanding dengan hanya menyenaraikan fail
fail yang berbeza daripada induk pertama komit).
--anonimkan
Anonimkan kandungan repositori sambil mengekalkan bentuknya
sejarah dan pokok yang disimpan. Lihat bahagian ANONYMIZING di bawah.
--refspec
Gunakan refspec yang ditentukan pada setiap ref yang dieksport. Berbilang daripada mereka boleh ditentukan.
[ ...]
Senarai hujah, boleh diterima pergi huraian semula and pergi senarai semula, yang menyatakan
objek khusus dan rujukan untuk eksport. Sebagai contoh, tuan~10..tuan menyebabkan
rujukan induk semasa untuk dieksport bersama dengan semua objek yang ditambahkan sejak ke-10
komitmen nenek moyang.
CONTOH
$ git fast-export --semua | (cd /kosong/repositori && git fast-import)
Ini akan mengeksport keseluruhan repositori dan mengimportnya ke dalam repositori kosong sedia ada.
Kecuali untuk pengekodan semula komit yang tiada dalam UTF-8, ia akan menjadi cermin satu sama satu.
$ git fast-export master~5..master |
sed "s|refs/heads/master|refs/heads/lain|" |
git fast-import
Ini menjadikan cawangan baru dipanggil lain dari tuan~5..tuan (iaitu jika master mempunyai linear
sejarah, ia akan mengambil 5 komitmen terakhir).
Ambil perhatian bahawa ini menganggap bahawa tiada satu pun gumpalan dan komit mesej yang dirujuk oleh itu
julat semakan mengandungi rentetan rujukan/ketua/guru.
MENGANUAMAKAN
Jika pilihan --anonymize diberikan, git akan cuba mengalih keluar semua maklumat pengenalpastian
daripada repositori sambil masih mengekalkan cukup pokok asal dan corak sejarah
untuk menghasilkan semula beberapa pepijat. Matlamatnya ialah pepijat git yang ditemui pada repositori peribadi
akan berterusan dalam repositori tanpa nama, dan yang terakhir boleh dikongsi dengan git
pembangun untuk membantu menyelesaikan pepijat.
Dengan pilihan ini, git akan menggantikan semua nama semula, laluan, kandungan gumpalan, komit dan teg
mesej, nama dan alamat e-mel dalam output dengan data tanpa nama. Dua contoh
rentetan yang sama akan digantikan secara setara (cth, dua komit dengan pengarang yang sama akan
mempunyai pengarang tanpa nama yang sama dalam output, tetapi tidak mempunyai persamaan dengan yang asal
rentetan pengarang). Hubungan antara komitmen, cawangan dan teg juga dikekalkan
sebagai cap masa komit (tetapi mesej komit dan nama semula tidak mempunyai persamaan dengan
asal). Solek relatif pokok itu dikekalkan (cth, jika anda mempunyai pokok akar
dengan 10 fail dan 3 pokok, begitu juga dengan output), tetapi nama dan kandungannya
fail akan diganti.
Jika anda rasa anda telah menjumpai pepijat git, anda boleh mulakan dengan mengeksport strim tanpa nama bagi
keseluruhan repositori:
$ git fast-export --anonymize --all >anon-stream
Kemudian sahkan bahawa pepijat berterusan dalam repositori yang dibuat daripada aliran itu (banyak pepijat
tidak akan, kerana ia benar-benar bergantung pada kandungan repositori yang tepat):
$ git init anon-repo
$ cd anon-repo
$ git fast-import <../anon-stream
$ ... uji pepijat anda ...
Jika repositori awanama menunjukkan pepijat, ia mungkin berbaloi untuk dikongsi bersama-sama dengan strim tanpa nama
laporan pepijat biasa. Ambil perhatian bahawa strim tanpa nama memampatkan dengan baik, jadi gzipkannya
adalah digalakkan. Jika anda ingin memeriksa strim untuk melihat bahawa ia tidak mengandungi apa-apa
data peribadi, anda boleh menelitinya terus sebelum menghantar. Anda juga mungkin ingin mencuba:
$ perl -pe 's/\d+/X/g'
yang menunjukkan semua baris unik (dengan nombor ditukar kepada "X", untuk meruntuhkan "Pengguna 0",
"Pengguna 1", dll ke dalam "Pengguna X"). Ini menghasilkan output yang lebih kecil, dan ia biasanya mudah
untuk mengesahkan dengan cepat bahawa tiada data peribadi dalam strim.
HADAH
Sejak pergi import cepat tidak boleh menandakan pokok, anda tidak akan dapat mengeksport linux.git
repositori sepenuhnya, kerana ia mengandungi teg yang merujuk kepada pokok dan bukannya komit.
Gunakan git-fast-export dalam talian menggunakan perkhidmatan onworks.net