Saat ini basis kode untuk proyek yang saya kerjakan adalah jarak jauh pada server perusahaan. dan harus tetap seperti itu. juga git
repositori jarak jauh tidak dapat dipublikasikan.
Setup saya saat ini adalah:
- Hubungkan ke
VPN
- jalankan
sshfs
untuk me-mount salinan kode - mulai bekerja pada kode
- ketika saya selesai:
ssh
ke server jauh dan menjalankangit
perintah di sana
Masalah dengan ini, adalah bahwa VPN turun dari waktu ke waktu, jadi sshfs
mounth saya rusak, dan IDE saya membeku. yang saya lakukan adalah menghubungkan kembali VPN secara manual, lalu jalankan sshfs
lagi, dan kembali bekerja.
Tapi itu menjengkelkan karena VPN
jatuh lebih sering.
Jadi saya bertanya-tanya apakah ada pengaturan untuk sshfs
beberapa jenis cache, yang akan memungkinkan saya untuk bekerja, dan hanya menyinkronkan perubahan ketika VPN kembali.
Itu mungkin tidak masuk akal, karena jika driver jarak jauh tidak tersedia tidak ada yang perlu ditulis. Jadi, bagaimana dengan pengaturan berbeda yang menggunakan beberapa watch
jenis dan digunakan rsync
untuk memindahkan perubahan dengan cara dua arah (baik ketika saya menyimpan file, atau ketika saya melakukannya git pull
)
Saya tidak bisa hanya git klon, karena saya tidak bisa mereproduksi seluruh lingkungan untuk bekerja 'secara lokal' (DB dan lainnya)
kode harus ada di server mereka, agar saya dapat menguji / melihat pekerjaan saya, saya harus mengakses URL, yaitu kotak pasir saya. Saya tidak bisa mendapatkan dorongan setiap kali saya ingin melihat perubahan saya.
git
cara yang waras? Kloning repo, dan bekerja dari jarak jauh.Jawaban:
zecrazytux benar - Mengapa Anda tidak menggunakan
git
cara yang seharusnya: dengan mengkloning repositori, mengerjakannya dari jarak jauh, dan mendorong perubahan kembali ke master?Saya tidak melihat alasan Anda "tidak bisa"
git push
bekerja setiap kali Anda ingin melihat perubahan Anda (idealnya mendorong ke cabang pengembangan yang kemudian digabung ketika itu diuji dan terbukti berfungsi) - banyak orang melakukan ini. Anda bahkan dapat menggunakanpost-receive
pengait untuk menyebarkan perubahan Anda ke lingkungan jika Anda ingin mengotomatisasi bagian itu.(Anda jelas tidak INGIN melakukan ini , tetapi Anda belum memberikan alasan mengapa saya menolak premis masalah Anda.)
Terus terang tidak ada yang dapat Anda lakukan untuk membuat koneksi jaringan yang tidak dapat diandalkan "dapat ditoleransi" (TERUTAMA jika Anda mencoba me-mount sistem file jaringan) - Anda dapat bekerja dari jarak jauh seperti diuraikan di atas, SSH ke dalam sistem dan bekerja langsung di atasnya (
screen
apakah Anda teman di sini), atau selidiki dan perbaiki ketidakstabilan jaringan yang mendasarinya.Mencoba melakukan hal lain untuk "membuatnya bisa ditoleransi" adalah latihan yang sia-sia (pikirkan "payung koktail dalam badai").
sumber
we have redmine and each commit should have a specific format
<- Jadi ketika Anda menggabungkan format cabang pengembangan, komit untuk menggabungkan seperti yang diharapkan oleh redmine.git
fleksibel seperti itu :-)screen
ketika koneksi mati"Saya menggunakan opsi sshfs ini untuk meminimalkan latensi:
Ini memiliki flag koneksi ulang, semua solusi sshfs, menggunakan cache otomatis dan chiper arcfour.
Anda dapat membaca tentang opsi-opsi pada manual sshfs, saya menemukan opsi-opsi sshfs tercepat setidaknya untuk setup saya.
ETA: Lebih lanjut tentang kinerja sshfs baca di sini: kinerja sshfs
sumber