Sabit diskime (yerel) klonladığım bir USB anahtarında bir repo (origin) var. origin"'i bir NAS'a taşıdım ve buradan klonlamayı başarıyla test ettim.
Yerel" ayarlarında "origin" URI'sini değiştirip değiştiremeyeceğimi bilmek istiyorum, böylece artık USB anahtarından değil NAS'tan çekecek.
Şimdilik iki çözüm görebiliyorum:
her şeyi usb-orign'a itin ve tekrar NAS'a kopyalayın (nas-origin'e yeni taahhütler nedeniyle çok fazla iş anlamına gelir);
yerel"e yeni bir uzaktan kumanda ekleyin ve eskisini silin (geçmişimi bozacağımdan korkuyorum).
Yapabilirsin
git remote set-url origin new.git.url/here
(bkz. git help remote
) ya da sadece .git/config
dosyasını düzenleyebilir ve URL'leri buradan değiştirebilirsiniz. Çok aptalca bir şey yapmadığınız sürece geçmişi kaybetme tehlikesiyle karşı karşıya değilsiniz (ve eğer endişeleniyorsanız, reponuzun bir kopyasını alın, çünkü reponuz * geçmişinizdir).
git remote -v
# View existing remotes
# origin https://github.com/user/repo.git (fetch)
# origin https://github.com/user/repo.git (push)
git remote set-url origin https://github.com/user/repo2.git
# Change the 'origin' remote's URL
git remote -v
# Verify new remote URL
# origin https://github.com/user/repo2.git (fetch)
# origin https://github.com/user/repo2.git (push)
Git Origin Sunucusu için Ana Bilgisayarı Değiştir
Gönderen: http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/
Umarım bu yapmanız gereken bir şey değildir. Birkaç git projesi üzerinde işbirliği yapmak için kullandığım sunucunun alan adının süresi doldu. Bu, senkronizasyonu yeniden sağlamak için yerel depoları taşımanın bir yolunu bulmak anlamına geliyordu.
Güncelleme: @mawolf'a son git sürümleri ile kolay bir yol olduğunu belirttiği için teşekkürler (Şubat 2010 sonrası):
git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git
Ayrıntılar için man sayfasına bakın.
Daha eski bir sürüm kullanıyorsanız, bunu deneyin:
Bir uyarı olarak, bu yalnızca aynı sunucu olduğu için çalışır, sadece farklı isimlerle.
Yeni ana bilgisayar adının newhost.com
ve eskisinin oldhost.com
olduğunu varsayarsak, değişiklik oldukça basittir.
Çalışma dizininizdeki .git/config
dosyasını düzenleyin. Şöyle bir şey görmelisiniz:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git
Oldhost.comu
newhost.com` olarak değiştirin, dosyayı kaydedin ve işiniz bitti.
Sınırlı testlerime göre (git pull origin; git push origin; gitx
) her şey yolunda görünüyor. Ve evet, git'in iç işleriyle uğraşmanın kötü bir davranış olduğunu biliyorum.