Ini adalah repositori Git saya:
https://github.com/benqzq/ulcwe
Ini memiliki nama dir local
dan saya ingin mengubah namanya menjadi nama lain (katakanlah, dari local
ke xyz
).
Mengubahnya melalui GitHub GUI secara manual adalah mimpi buruk karena saya harus mengubah nama direktori untuk setiap file secara terpisah (GitHub belum menyertakan fungsionalitas "Ganti nama direktori", percaya atau tidak).
Setelah menginstal Git, saya mencoba perintah ini:
git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit
Meskipun saya tidak mendapatkan prompt untuk kata sandi GitHub saya, saya memang mendapatkan kesalahan ini:
fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Saya tahu inti dari Git adalah mengunduh proyek, mengubah, menguji, dan kemudian mendorong ke penyedia hosting (GitHub dalam kasus ini), tetapi untuk hanya mengubah direktori, saya ingin operasi langsung. Apakah mungkin dengan Git?
Haruskah saya menggunakan program lain?
Jawaban:
Pesan kesalahan fatal menunjukkan Anda bekerja dari suatu tempat yang bukan tiruan dari repositori git Anda. Jadi mari kita mulai dengan mengkloning repositori git terlebih dahulu:
Lalu masukkan:
dan ganti nama direktori:
Agar perubahan dapat dibagikan, Anda harus berkomitmen:
Sekarang Anda dapat mendorongnya ke repositori remote git Anda:
dan Anda akan melihat perubahan di antarmuka GitHub.
sumber
Tidak, tidak ada cara untuk melakukan ini sebagai operasi langsung karena cara git terstruktur.
Cara git bekerja adalah ia menyimpan salinan seluruh repositori, termasuk semua riwayat, ke setiap lokasi.
Github, atau Bitbucket, atau penyedia hosting lainnya pada dasarnya hanyalah salinan repositori git Anda, dengan antarmuka web yang cantik di atasnya, yang diperlakukan sebagai sumber kebenaran utama dalam sebagian besar alur kerja, namun utilitas git tidak mengetahui hal ini.
Perubahan dilacak sebagai komit. Saya menduga
direct operation
, maksud Anda adalah cara mengubah nama folder tanpa membuat komit. Walaupun ini dimungkinkan dengan menulis ulang sejarah, saya tidak akan merekomendasikannya, terutama jika ada banyak orang / mesin dengan salinan git repo, karena ini dapat menyebabkan ketidakkonsistenan.Cara termudah untuk mengganti nama folder dalam repo git adalah dengan mengkloningnya secara lokal
Jika Anda sudah memiliki salinan repo lokal, tarik untuk memastikan Anda mendapatkan repo jarak jauh
Buat perubahan yang Anda butuhkan secara lokal
Yang secara otomatis ditambahkan ke area pementasan oleh github. Maka Anda harus melakukan dan mendorong perubahan ini.
Ini akan melakukan perubahan pada repositori lokal Anda, lalu dorong perubahan ini ke salinan repositori jarak jauh, dalam hal ini, Github.
sumber
git clone --depth
Dimungkinkan untuk mengganti nama direktori tanpa mengkloning repositori, menggunakan API GitHub. Saya tidak mengetahui adanya implementasi.
Sumber: https://stackoverflow.com/a/31567094/370786
sumber