GitHub'daki bir havuzu nasıl yeniden adlandırabilirim?


317

GitHub'daki depolarımdan birini yeniden adlandırmak istedim, ancak büyük bir kırmızı uyarı söylendiğinde korktum:

  1. Eski konumdan herhangi bir yönlendirme ayarlamayacağız
  2. Yeni konumu işaret edecek şekilde yerel depolarınızı güncellemeniz gerekir
  3. Yeniden adlandırma işleminin tamamlanması birkaç dakika sürebilir

# 1 ve # 2'nin manuel olarak nasıl gerçekleştirileceğine dair adım adım talimatlar var mı? Veya yerel olarak ne yapmam gerekiyor?


7
Bir Github repo yeniden adlandırma işleminden sonra artık yerel tekrarınızı güncellemenize gerek yoktur. Bkz aşağıda Cevabımı .
VonC

2
Bitbucket'te depo ayarlarına gidip adı değiştirirsiniz ve ardından yerel bilgisayarınızda .git/configdosyayı dosyada da değiştirirsiniz .
aliteralmind

1
Repo -> Ayarlar -> Yeniden Adlandır
Kanagavelu Sugumar

Yanıtlar:


339

Projede çalışan tek kişi sizseniz, bu büyük bir sorun değildir, çünkü sadece # 2 yapmanız gerekir.

Diyelim ki kullanıcı adınız someuserve projeniz çağrılıyor someproject.

O zaman projenizin URL'si 1 olacak

git@github.com:someuser/someproject.git

Projenizi yeniden adlandırırsanız someproject, URL'nin bir bölümünü değiştirir , ör.

git@github.com:someuser/newprojectname.git

(URL'niz böyle görünmüyorsa dipnota bakın).

Git işlevinin çalışma kopyası, bir pushveya yaptığınızda bu URL'yi kullanır pull.

Bu nedenle, projenizi yeniden adlandırdıktan sonra, çalışanınıza yeni URL'yi kopyalamanızı söylemeniz gerekecektir.

Bunu iki adımda yapabilirsiniz:

İlk olarak, cdyerel Git dizininize gidin ve o URL'ye hangi uzak adların başvurduğunu bulun:

$ git remote -v
origin  git@github.com:someuser/someproject.git

Ardından, yeni URL'yi ayarlayın

$ git remote set-url origin git@github.com:someuser/newprojectname.git

Veya Git'in eski sürümlerinde şunlara ihtiyacınız olabilir:

$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git

(origin en yaygın uzak addır, ancak başka bir şey olarak adlandırılabilir.)

Ancak projenizde çalışan birçok insan varsa, bunların hepsinin yukarıdaki adımları yapması gerekecektir ve belki de onlara söylemek için hepsiyle nasıl iletişime geçeceğinizi bile bilmiyorsunuzdur. Bu # 1 ile ilgili.

Daha fazla okuma:

Dipnotlar:

1 URL'nizin biçimi, hangi protokolü kullandığınıza bağlıdır;


Cevabın için teşekkürler! # 1 için, repoya bağlanan herhangi bir web sayfam yok. Yani güvendeyim? # 2 için orada tam olarak ne oluyor? Teşekkürler!
rabbid

Yardım etmesi gereken uzaktan kumandalar hakkında daha fazla bilgi ekledim.
Mikel

1
Benim çıktım git remote -vformda git@github.com:someuser, buraya koyduğunuz eğik çizgi benim için işe yaramadı. Yine de burada her şey yaptı.
Droogans

Teşekkürler. Sabit. Hala https ve git URL'lerinden bahsetmenin bir yolunu bulmam gerekiyor.
Mikel

3
Bu, repo gibi yıldızların istatistiklerini etkileyecek mi?
Alex Naspo

132

Mayıs 2013'ten bu yana (" Havuz yönlendirmeleri burada! "), GitHub deposunuzu hiçbir bağlantıyı kesmeden yeniden adlandırabileceğinizi unutmayın:

Bugünden başlayarak, önceki depo yerlerine ilişkin tüm istekleri bu koşullarda otomatik olarak yeni evlerine yönlendireceğimizi duyurmaktan mutluluk duyuyoruz. Yapman gereken özel bir şey yok. Sadece yeniden adlandırın ve gerisini biz hallederiz.

Özel bir bonus olarak, önceki depo konumlarından tüm Git klonlama, getirme ve push isteklerine de hizmet vereceğiz .

Bu git remote set-url, yerel klonlanmış deponuzda (uzak GitHub repo'nuzun URL'sini değiştirmeniz bile gerekmez) anlamına gelir ! Gabriel
olmasına rağmen notları yorumlarda o resmi GitHub yardım sayfasında kuvvetle bunu önerir:

karışıklığı azaltmak için mevcut yerel klonları yeni havuz URL'sini gösterecek şekilde güncellemenizi önemle öneririz. Komut satırında git remote komutunu kullanarak bunu yapabilirsiniz:

git remote set-url origin new_url

Yine de:

GitHub Pages siteleri, depoları şu anda yeniden adlandırıldığında otomatik olarak yeniden yönlendirilmez.
Bir Sayfa veri havuzunu yeniden adlandırmak, alangithub.ioadında veya özel alan adlarındabarındırılan içeriğe ilişkin mevcut bağlantıları kesmeye devam eder.

Ayrıca, kullanıcı yine de ad alanının sahibidir : yeniden adlandırılmış repo'nun eski adını kullanarak yeni bir repo oluşturursa , bu yeniden yönlendirme (adı geçen yeniden adlandırılmış repo için) çalışmayı durduracaktır.


4
Bu gerçekten yararlıdır, ancak yeniden adlandırma eski itme / çekme etkinliğimi bozmadığında başlangıçta çok kafa karıştırıcıydı. Şimdi adı hemen değiştirebilir ve herkesin depolarını set-urlbelirli bir tarihten önce güncellemesini öğrenebilirim . Bu tarihten sonra, güzel bir "I WARNED U" benioku dosyasıyla boş bir tane oluşturarak eski ad deposunu parçalayacağım .
cod3monk3y

Mevcut bir yerel klonu yeni havuz URL'sini işaret edecek şekilde güncellemek için kullanmanıza gerek olmasa git remote set-urlda, kesinlikle yapmanız önerilir .
Gabriel

61

Kendi adımı sadece basitçe yeniden adlandırıyorum:

  1. depomda github.com'a gidiyor
  2. Ayarlar Sekmesini Aç
  3. Görebileceğiniz ilk ayar "Havuz Adı"
  4. Gerçek olanı değiştirin ve havuzunuza vermek istediğiniz yeni adı girin
  5. Yeniden Adlandır'ı tıklayın

Bu adımdan sonra GitHub, çevrimiçi deponuzun yerel klasör adınızla eşleştiğinden emin olacaktır. Yerel adımınızı yeniden adlandırmak istemiyorsanız, bu adımda sorununuz çözülmüştür. Daha sonra manuel olarak yapın ve deponuzu sabit sürücünüze tekrar hatırlatmak için Windows için Github istemcisini kullanın ve Github tekrar eşleşecektir. Bu kadar! Çok basit.


1
Sadece burada çok oylanan cevaplar değil, aynı zamanda github.com'daki yardım sayfalarının, ayarlar sekmesi aracılığıyla github.com üzerinde yeniden adlandırma adımını nasıl attığı şaşırtıcı.
user3673

16

Bulduğum en basit yol

  1. Repo bağlantınıza gidin, örneğin: - https://github.com/someuser/someRepo.git

  2. Ayar sekmesini tıklayın.

resim açıklamasını buraya girin

görebileceğiniz ilk şey repo adınızdır, bunu düzenleyebilirsiniz.

Not: - Yerel olarak repo kopyaladıysanız, klasör adını el ile değiştirin, hepsi bu.


10

Hiç doğru / tam bulamadığım yanıtlara çok olumlu geri bildirimler görüyorum.

Akılda tutulması gereken iki şey var:

  • Uzak depo
  • Deponun yerel kopyası

Repo'yu henüz makinenizde klonlamadıysanız, Github deposunu yeniden adlandırmanız ve ardından yerel bir kopyaya sahip olabilmeniz için repoyu klonlamaya devam etmeniz yeterlidir. Github deposunu yeniden adlandırmak için yapmanız gerekenler:

  1. Depo sitesine gidin (ör. Https://github.com/userX/repositoryZ ).
  2. Gezinme çubuğunda "Ayarlar" adlı bir sekme göreceksiniz. Üstüne tıkla.
  3. Geçerli havuz adını istediğiniz adla düzenleyin ve "Yeniden Adlandır" a basın.
  4. Havuzu her zamanki gibi klonlayın (örneğin, git klonu https://github.com/userX/repositoryU ).

Zaten projenin yerel bir kopyası varsa , yukarıdaki adımları izlemenin yanı sıra, yerel deponuzun (kök klasör) doğru bir şekilde yeniden adlandırıldığından ve doğru uzak url :) bağlantısını işaret ettiğinden emin olmanız gerekir. Bunu başarmak için aşağıdakileri yapın:

  1. Repo için yeni verilen adı kullanmak isteyebilirsiniz. Bunu yapmak için, OS GUI (Finder, Windows Explorer, vb.) Veya konsolu kullanarak yerel klasörü yeniden adlandırın:

mv -R current-repo-name new-repo-name

  1. Uzak URL'yi değiştirin. Klasörün kökünden aşağıdakileri kullanın:

$ git remote set-url origin https://github.com/userX/repositoryU

veya

$ git remote set-url origin git@github.com:userX/repositoryU.git

Yine de ikinci adım zorunlu değildir. Github bir süre önce önceki depo URL'lerinden gelen tüm talepleri atananlara yeniden yönlendireceklerini açıkladı . Bu, kullanmanıza gerek olmadığı anlamına gelir$ git remote set-url ... , ancak yine de karışıklığı önlemek için bunu yapmanızı teşvik ederler.

Umarım yardımcı olmuştur. Herhangi bir sorunuz varsa veya yayın yeterince açık değilse, bana bildirin.


9

Bu cevap şimdi kullanılmıyor! GitHub şimdi yeni konumlara yönlendirecek. Ayrıntılar için bu cevaba bakınız.


1. çünkü bu uyarı var nedenidir olamaz elle yapılabilir.

Depo üzerinde çalışan ve depoya bağlanan tek kişi sizseniz, uzaktan kumandayı yerel deponuzda ve web sayfalarınızda değiştirme konusunda sorun yoktur.

Ancak, ilk etapta github'da halka açık bir depoya sahip olmanızın nedeni, başkalarının deponuzu klonlaması ve github proje sayfanıza bağlantı verebilmesidir.


Eski url github.com/<username>/<repository>, github'a aittir. Yeni URL'ye herhangi bir yönlendirme ayarlamadıklarında kimse yapamaz. Yani anlattığınız kişiler dışında herkes için işler kırılacak.

Ne kadar büyük bir problem olsa size kalmış. Farklı bir sunucuda resmi bir proje sayfanız varsa, github url'si çok fazla sorun olmayabilir. Projenizi posta listelerinde ve dizinlerde github url'si ile tanıttıysanız, muhtemelen repo adını değiştirmemelisiniz.


Repo adını değiştirmenin bir alternatifi, yeni bir depo oluşturmak ve eskisine yeni repoya nasıl ulaşacağınıza dair notlar (repoda da taahhüt edildiği gibi) bırakmaktır.

Yeni deponuzun eski deponuzun bir çatalı olarak listelenmesini istemiyorsanız yeni bir github hesabı oluşturmanız gerekir. Diğer hesabınızı her iki havuz için ortak çalışan olarak ekleyebilirsiniz.


6

Bir GitHub projesini çatallatır ve sonra yeni ortaya çıkan kopyayı yeniden adlandırırsanız, yeni adın ana projenin üye ağ grafiğinde göründüğünü belirtmek gerekir. Tamamlayıcı ilişki de korunur. Bu, orijinal sorudaki yönlendirmelerle ilgili ilk nokta ile ilişkili tüm rezervasyonları ele almalıdır, yani, tabiri caizse, oradan hala alabilirsiniz. Ben de uyarının ima ettiği geri dönülmezlikten dolayı tereddüt ettim, umarım bu başkalarını bu gecikmeyi kurtaracaktır.


Kendi projenizi github üzerinde çatamazsınız. Yani başka bir hesap kullanmalısınız, ama bu işe yarayacaktır.
JonnyJD

Bir kuruluşa çatalladım, bu yüzden sanırım bu başka bir hesap kullanmakla aynı. Eminim haklısın.
Neil Best

Yeni bir boş depo oluşturabilirsiniz. Eski havuzu kopyalayın. Yeni deponuza referans veren bir uzaktan kumanda ekleyin. Ve sonra istediğiniz dalları yeni veri havuzuna aktarın (örn. Master). Sanırım bu kısmi bir çatal olurdu.
Darrel Lee

6
  • Havuz yolunuza gidin.
  • Sağ panelde bulunan ayar düğmesine tıklayın .
  • Eski havuz adını yeni adla değiştirin.
  • Tıklayın yeniden adlandır düğmesi

3

Bu çözüm GitHub masaüstünü kullanan kullanıcılar içindir.

  1. Deponuzu GitHub.com'daki ayardan yeniden adlandırın

  2. Şimdi masaüstünüzden senkronizasyonu tıklayın.

Bitti.


uygulamanın kendisinde böyle temel bir özelliğin bulunmaması
gariptir

1
  1. bu url'yi ( https://github.com/ ) tarayıcınızdan açın

  2. Sayfanın Sağ tarafındaki havuzlara git

  3. Yeniden adlandırmak istediğiniz havuz bağlantısını açın

  4. Ayarlar'ı tıklayın (Gezinme çubuğunda bulacaksınız)

  5. Üstte, yeni adı yazdığınız Denilen (Depo adı) bir kutu bulacaksınız

  6. Yeniden Adlandır'a basın


0

Web sayfasındaki havuzu yeniden adlandırmayı denedim:

  1. Avatarınız olduğu sağ sayfaların üst kısmına tıklayın.
  2. simgesine bakabilir setting, tıklayabilir ve Repositoriesaltında simgesini bulabilirsiniz Personal setting.
  3. tıklayın Repositoriesve Depo dizinlerinizi girin, yeniden adlandırmak istediğiniz Havuzu seçin.
  4. Ardından seçilen Havuzu gireceksiniz ve simgesinin settingüst satıra eklendiğini göreceksiniz , sadece tıklayın ve yeni adı girin ve tıklayın Rename.

Bitti, çok kolay.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.