Bagaimana cara saya mengganti nama repositori Git?

435

git mvmengganti nama file atau direktori dalam repositori. Bagaimana cara saya mengganti nama repositori Git itu sendiri?

Yantao Xie
sumber
1
Saya sudah mencoba menggunakan mvuntuk mengganti nama PROJ0.git di `host repositori 'saya, ini berfungsi. Tapi saya tidak tahu apakah itu benar, maksud saya, valid.
Yantao Xie
5
Pertanyaan anda baik-baik saja Git memiliki repositori dan mereka dapat berisi proyek seperti proyek Eclipse jika Anda memutuskan untuk menempatkan proyek Anda di repositori git. Jika itu yang Anda inginkan, lihat caranya di jawaban di bawah ini.
Danny Remington - OMS
3
gitsendiri tidak memiliki ketentuan untuk menentukan nama repositori. Nama direktori root adalah satu - satunya sumber kebenaran yang berkaitan dengan nama repositori. The .git/descriptionFile meskipun hanya digunakan oleh beberapa aplikasi sepertiGitweb
Ujjwal Singh

Jawaban:

620

Ada berbagai kemungkinan interpretasi tentang apa yang dimaksud dengan mengganti nama repositori Git: nama yang ditampilkan, direktori repositori, atau nama repositori jarak jauh. Masing-masing membutuhkan langkah berbeda untuk mengganti nama.

Nama yang ditampilkan

Ganti nama nama yang ditampilkan (misalnya, ditunjukkan oleh gitweb):

  1. Edit .git/descriptionuntuk memuat nama repositori.
  2. Simpan file.

Direktori Repositori

Git tidak mereferensikan nama direktori yang berisi repositori, seperti yang digunakan oleh git clone master child, jadi kita dapat dengan mudah mengganti nama:

  1. Buka prompt perintah (atau jendela pengelola file).
  2. Ubah ke direktori yang berisi direktori repositori (mis., Jangan masuk ke direktori repositori itu sendiri).
  3. Ganti nama direktori (misalnya, menggunakan mvdari baris perintah atau F2hotkey dari GUI).

Repositori jarak jauh

Ganti nama repositori jarak jauh sebagai berikut:

  1. Buka host jarak jauh (misalnya, https://github.com/User/project ).
  2. Ikuti instruksi host untuk mengganti nama proyek (akan berbeda dari host ke host, tetapi biasanya Pengaturan adalah titik awal yang baik).
  3. Pergi ke direktori repositori lokal Anda (yaitu, buka command prompt dan ubah ke direktori repositori).
  4. Tentukan URL baru (misalnya, [email protected]:User/project-new.git )
  5. Setel URL baru menggunakan Git:

    git remote set-url origin [email protected]:User/project-new.git
    
Alex Brown
sumber
3
Pada kasus kedua, apa yang terjadi pada siapa yang sudah mengkloning repositori?
Frederico Schardong
3
Tidak ada yang buruk. Mereka mempertahankan nama asli, tetapi kendali jarak jauh mereka sekarang salah: jika mereka ingin menarik pembaruan, mereka harus terhubung ke nama yang baru. Jika Anda dan mereka sedang menyinkronkan atau repositori pusat itu akan mempertahankan nama asli dan semuanya akan terus bekerja
Alex Brown
14
Perhatikan bahwa pernyataan "git tidak merujuk nama direktori ini" dalam kasus kedua salah jika Anda menggunakan submodul: git menggunakan jalur absolut untuk merujuk pada submodul, jadi mengubah nama direktori repositori Anda akan merusak submodul. Lihat stackoverflow.com/questions/10144149/...
Edward
Saya menggunakan GitHub untuk Windows GUI, dan saya tidak perlu mengubah file .git / description (saya tidak punya). Nama yang ditampilkan di GUI berubah setelah saya melakukan langkah terakhir mengatur ulang asal.
Joe Ernst
4
Orang-orang terus menyebutkan .git / deskripsi, tetapi tanpa menyebutkan perubahan apa yang sebenarnya Anda masukkan ke sana untuk mengganti nama repo
Programmer Unextraordinair
24

Repositori Git tidak memiliki nama. Anda bisa mengganti nama direktori yang berisi pohon kerja Anda jika mau.

Tobu
sumber
7
Ya, repo git punya nama. Saya mendapatkan kesalahan ini setelah mengganti nama:$ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
Sawny
@Sawny, saya tidak melihat apa hubungannya dengan apa pun.
Tobu
19
Anda mengatakan bahwa git repo tidak memiliki nama, tetapi itu tidak benar. Jika Anda menggunakan submoduels dan hanya mengganti nama folder Anda akan mendapatkan kesalahan dari git. Lihat stackoverflow.com/questions/9878860/…
Sawny
6
Oke, jalur submodule dalam repositori git penting. Memang benar tetapi tidak relevan dengan pertanyaan khusus ini.
Tobu
5
Tentu saja repositori punya nama. Lihat di bawah ini bagaimana cara mengubahnya.
Danny Remington - OMS
19

Ganti nama PRJ0.gitmenjadi PROJ1.git, lalu edit variabel URL yang terletak di .git/configfile proyek Anda.

Alex
sumber
15

Dalam repositori baru, misalnya, setelah a $ git init, direktori .git akan berisi file .git / deskripsi.

Yang terlihat seperti ini:

Unnamed repository; edit this file 'description' to name the repository.

Mengedit ini di repositori lokal tidak akan mengubahnya di remote.

mholm815
sumber
Jawaban Alex Brown sudah termasuk jawaban Anda.
Yantao Xie
13

Jika Anda bermaksud mengubah nama repositori Anda, buka repositori Anda dan klik "admin", lalu ganti nama.

Begitu Anda melihat kotak merah yang memperingatkan Anda tentang kejatuhan langit dan hal-hal lain, bacalah pertanyaan ini .

Droogan
sumber
12
Mungkin bisa membantu orang lain untuk memperhatikan bahwa ini adalah saran khusus Github, dan tidak akan berlaku untuk Git secara umum.
founddrama
1
per Januari 2013, instruksi github sekarang harus: (masuk ke github), buka repo Anda, lalu pergi ke "Pengaturan" >> "Opsi" dan cari tombol Ubah nama di sana. Mengenai peringatan merah tentang hal-hal buruk yang terjadi, orang Droogan menautkan ke yang lain sehingga pertanyaan masih sangat disarankan.
pestophagous
12

Untuk mengganti nama repositori akun GitHub Anda:

  1. Pergi ke repositori tertentu yang ingin Anda ganti namanya
  2. Arahkan ke tab pengaturan
  3. Di sana, di bagian nama repositori, ketikkan nama baru yang ingin Anda masukkan dan klik Rename
Neha Kumari
sumber
Bukan pertanyaan GitHub, ini tentang git.
robrecord
10

Jika Anda menggunakan GitLab atau GitHub, maka Anda dapat memodifikasi file-file tersebut secara grafis.

Menggunakan GitLab

Buka Pengaturan proyek Anda . Di sana Anda dapat memodifikasi nama proyek dan yang paling penting Anda dapat mengubah nama repositori Anda (saat itulah Anda mulai masuk ke bagian bahaya).

Setelah ini selesai, konfigurasi klien lokal harus diperbarui menggunakan

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git
avi.elkharrat
sumber
9
  • Di sisi server, cukup ganti nama repositori dengan perintah mv seperti biasa:

    mv oldName.git newName.git
    
  • Kemudian di sisi klien, ubah nilai [remote "origin"]URL menjadi yang baru:

    url=example.com/newName.git
    

Ini berhasil untuk saya.

Parison
sumber
8

Jika Anda berada di Eclipse dan telah menginstal Egit maka Anda dapat mengubah nama repositori yang berisi proyek dengan melakukan hal berikut:

1) Dalam Eclipse : Tutup semua proyek yang ada di repositori.

2) Dalam sistem file : Temukan direktori / folder yang berisi repositori.

3) Dalam sistem file : Ganti nama direktori / folder yang berisi repositori.

4) Dalam sistem file : Buka direktori / folder yang berisi repositori dan ganti nama direktori proyek / folder dari setiap proyek yang Anda ingin rename sehingga akan cocok dengan nama baru proyek. (Ini tidak diperlukan tetapi memberikan konsistensi antara nama proyek di Eclipse dan direktori proyek / folder di repositori.)

5) Dalam Eclipse : Hapus semua proyek yang ada di repositori tetapi pastikan untuk TIDAK mencentang kotak centang 'Hapus konten dari sistem file'. (Proyek seharusnya tidak lagi berisi lokasi yang benar dari isi sistem file sehingga data tidak dapat dihapus dalam hal apa pun, tetapi lebih baik aman daripada menyesal.)

6) Dalam Eclipse : Dari Menu pilih opsi File | Import ....

7) Dalam Eclipse : Dalam kotak dialog buka folder 'Git', pilih 'Projects from Git' dan klik 'Next'.

8) Dalam Eclipse : Dalam kotak dialog pilih 'Lokal' dan klik 'Selanjutnya'.

9) Dalam Eclipse : Dalam kotak dialog klik tombol 'Tambah ...'.

10) Dalam Eclipse : Pada kotak dialog pastikan kotak centang di sebelah repositori dicentang dan klik 'Selesai'.

11) Dalam Eclipse : Dalam kotak dialog pilih repositori dan klik 'Next'.

12) Dalam Eclipse : Pada kotak dialog pilih tombol radio 'Impor proyek yang ada', pilih "Direktori Kerja" dan klik 'Berikutnya'.

13) Dalam Eclipse : Pada kotak dialog centang kotak centang di sebelah proyek yang ingin Anda kerjakan dan klik 'Selesai'.

14) Dalam Eclipse : Ganti nama proyek yang ada di repositori jika diinginkan. (Untuk konsistensi antara Eclipse dan sistem file beri mereka nama yang sama dengan direktori proyek / folder di dalam direktori / folder repositori.)

Danny Remington - OMS
sumber
+1 (geli dan tidak terkejut dengan 14 langkah yang diperlukan untuk ini di Eclipse, terutama 'jika Anda telah menginstal Egit', melibatkan beberapa lusin langkah lagi ...)
Jack Wasey
7

Git sendiri tidak memiliki ketentuan untuk menentukan nama repositori. Nama direktori root adalah satu-satunya sumber kebenaran yang berkaitan dengan nama repositori.

The .git/descriptionmeskipun hanya digunakan oleh beberapa aplikasi, seperti GitWeb .

Ujjwal Singh
sumber
5

Untuk pengguna Amazon AWS codecommit ,

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

Referensi: di sini

Ekstrim
sumber
4

Untuk menjadi sederhana, cukup hapus Proyek Eclipse (tidak memilih konten pada disk), lalu impor kembali proyek tersebut.

Eclipse akan mengidentifikasi proyek yang terhubung ke Git dan menempatkannya dalam tampilan perspektif Git.

Itu bekerja seperti pesona.

Richard
sumber
5
Ini tidak menjawab pertanyaan awal.
mjuarez
Apakah ini jawaban untuk Danny Remington - jawaban OMS ?
Peter Mortensen
4

Dengan Github Sebagai Remote Anda

Mengganti nama Repo Jarak Jauh pada Github

Mengenai repositori jarak jauh, jika Anda menggunakan Github atau Github Enterprise sebagai lokasi server untuk menyimpan / mendistribusikan repositori Anda dari jarak jauh, Anda cukup mengganti nama repositori secara langsung dalam pengaturan repo.

Dari halaman repo utama, tab pengaturan ada di kanan, dan nama repo adalah item pertama pada halaman:

masukkan deskripsi gambar di sini

Github akan mengarahkan permintaan ke URL baru

Salah satu fitur yang sangat bagus di Github ketika Anda mengganti nama repo, adalah bahwa Github akan menyimpan nama repo lama dan semua URL terkait dan mengarahkan lalu lintas ke URL baru . Karena nama pengguna / org dan nama repo Anda adalah bagian dari URL, nama baru akan mengubah URL.

Karena Github menyimpan nama repo lama dan mengalihkan permintaan ke URL baru, jika ada yang menggunakan tautan berdasarkan nama repo lama ketika mencoba mengakses masalah, wiki, bintang, atau pengikut, mereka masih akan tiba di lokasi baru di situs web Github. Github juga pengalihan tingkat yang lebih rendah perintah Git suka git clone, git fetch, dll

Informasi lebih lanjut ada di Bantuan Github untuk Mengganti Nama Repo

Mengganti Nama Nama Repo Lokal

Seperti yang disebutkan orang lain, "nama" lokal repo Anda biasanya dianggap sebagai folder root / nama direktori, dan Anda dapat mengubahnya, memindahkan, atau menyalin folder ke lokasi mana pun dan itu tidak akan memengaruhi repo sama sekali.

Git dirancang hanya untuk mengkhawatirkan file di dalam folder root.

LightCC
sumber
"Jika ada yang menggunakan tautan berdasarkan nama repo lama ... mereka masih akan tiba di lokasi baru di situs web Github". Ya, ada fitur seperti itu. Hal yang sama berlaku untuk BitBucket: community.atlassian.com/t5/Bitbucket-questions/… . Akan lebih baik untuk mengetahui bagaimana menghancurkan sepenuhnya semua referensi ke nama lama, karena menurut saya itu bukan penggantian nama, tetapi menyalin. Akan menyenangkan untuk mengetahui prosedur yang benar untuk mengganti nama lengkap (dengan menghancurkan semua barang lama).
Alexander Samoylov
@AlexanderSamoylov Saya hanya menebak-nebak di sini, tapi saya sungguh-sungguh ragu ada yang disimpan dalam format lama. Github seharusnya hanya menyimpan nama arsip lama dan mengarahkan kembali lalu lintas yang masuk pada nama arsip lama ke nama arsip baru. yaitu https://github.com/oldrepo/some_pathhanya akan mengarahkan ulang ke https://github.com/newrepo/some_path, di mana semuanya telah dipindahkan ke. Satu-satunya downside harus bahwa nama repo lama dicadangkan secara permanen sehingga tidak dapat digunakan kembali (juga baik untuk menghindari orang-orang yang telah menyelamatkan url lama mengaksesnya).
LightCC
3

Perubahan nama utama ada di sini (img 1), tetapi juga mengubah readme.md (img 2)

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

ABU
sumber
7
Pertanyaannya adalah tentang git daripada github.
Yantao Xie
tidak mengganti nama, seperti ini
Manjitha teshara
0

Buka repositori git di browser, sampai ke "Penyelesaian", Anda dapat melihat tombol ganti nama.

Masukkan "Nama Repositori" yang baru dan klik tombol "Ubah Nama".

bshr
sumber
0

Sudahkah Anda mencoba mengubah nama proyek Anda package.jsondan menjalankan perintah git inituntuk menginisialisasi ulang Git yang ada?

Riwayat Git Anda yang ada akan tetap ada.

priyabagus
sumber
-2

Ini bekerja untuk saya di Windows 10, melalui baris perintah:

git checkout <oldname>
git branch -m <newname>

Dari Cara Mengganti Nama Cabang Lokal dan Remote Git

Ini hanya repositori lokal (bukan pada remote).

emery.noel
sumber