Pada dasarnya saya ingin mengatur repositori di server jauh dengan cepat. Biasanya repositori harus diinisialisasi pada remote dengan init --bare
sebelum seseorang dapat mendorong komit dari perangkat lain. Apakah ada cara untuk menghindari ini?
Idealnya saya memiliki dua poin yang ingin saya penuhi:
- Biarkan sisi klien tidak berubah, artinya tidak ada pengaturan selain
git remote add ...
. - Gunakan SSH sebagai protokol transfer.
Apa yang saya pikirkan sejauh ini:
Mengabaikan permintaan SSH. Dengan mendorong lebih dari HTTPS, saya bisa meng-host server HTTPS yang menginisialisasi repositori yang tidak ada sebelum menerima dorongan.
Mengubah fungsionalitas git di sisi server, membajak perintah push (disebut di shell-git?). Saya tidak menemukan dokumentasi tentang apa yang terjadi di sisi server ketika mendorong SSH jadi saya tidak dapat menyelidiki lebih lanjut solusi yang mungkin ini.
Terkait dengan # 2, saya bisa mengimplementasikan server SSH yang berjalan di remote, menginisialisasi repositori yang tidak ada sebelum menjalankan perintah lebih lanjut. Tetapi seperti dengan # 2, saya tidak menemukan dokumentasi di pipa push.
Klarifikasi:
Bisakah saya mendorong ke remote yang belum menginisialisasi repositori? Bisakah saya cukup mendeteksi dorongan masuk, menginisialisasi repositori sebelum melanjutkan?
ansible
untuk mengatur repo jarak jauh. Ini tanpa agen, jadi yang Anda butuhkan hanyalah akses SSH ke mesin. Anda bisa menjalankan buku pedoman pada mesin jarak jauh untuk mengatur repo dan kemudian mendorongnya.
git init —bare
.
svn
bendera?