Uzak kaynak yeni bir depoya 'git push' üzerinde zaten var


548

Projemi GitHub'da bir yerde buldum git@github.com:myname/oldrep.git.

Şimdi tüm kodumu başka bir yerde yeni bir depoya itmek istiyorum git@github.com:newname/newrep.git.

Komutu kullandım:

git remote add origin git@github.com:myname/oldrep.git

ama bunu alıyorum:

ölümcül: uzak kökeni zaten var.


6
$> Git remote -v show
sykora


İyi bir yol, eskisinin URL'sini biliyorsanız, yeni oluşturulan deponuzun altındaki "başka bir depodan içe aktar" seçeneğini kullanmaktır .
JW.ZG

Burada benzer bir soru soruldu: stackoverflow.com/questions/2432764/…
jciloa

1
Orijinal uzaktan kumandayı korumak istiyorsanız, farklı bir ad kullanabilirsiniz git remote add origin2 ...., ancak repo yapılandırmasını değiştirmeden yalnızca bir kez basmanız gerekiyorsa, bunu yapabilirsiniz git push git@github.com:user/another-project.git master:master.
ccpizza

Yanıtlar:


870

"Kök" kullanılamadığı için bu hatayı alıyorsunuz. "origin" komutun bir parçası olmayan bir kuraldır. "origin", uzak deponun yerel adıdır.

Örneğin şunları da yazabilirsiniz:

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

El kitabına bakın:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

Uzak bir havuzu kaldırmak için şunu girin:

git remote rm origin

"Başlangıç" uzaktan kumandasını kaldırmak istiyorsanız, yine "orijin" uzak deponun adıdır:

git remote rm upstream

8
"git remote rm origin" benden işe yaramadı, eğer işe yaramazsa "git remote -v" ile kontrol etmeye çalışın. yerel olarak init yaptı ve uzaktan itmeye çalışıyor ve benim gibi bir yanlış adım attı). Ardından RobinH'nin cevabını takip edin: git remote set-url origin git@github.com: kullanıcı adı / projeadı.git
Clarence Liu

1
URL'yi zorlamak için bu cevabı kontrol edin .
srodriguex

"git uzaktan rm kökenli" bir çekicilik, harika çalıştı! :) puhh, git terminolojisinde yeniyim, bu yüzden daha büyük bir arama oldu, ama cevabın bana çok yardımcı oldu. :) teşekkür ederim!
Martin Pfeffer

3
git push -u origin master --force
Ronnie Royston

--force çözüm!
yaratıcısı

260

Önceki çözümler menşei göz ardı ediyor gibi görünüyor ve sadece başka bir ad kullanılmasını öneriyorlar. Sadece kullanmak istediğinizde git push originokumaya devam edin.

Sorun, Git yapılandırmasının yanlış sırasının izlenmesi nedeniyle ortaya çıkar. .Git yapılandırmanıza zaten bir 'git origin' eklemiş olabilirsiniz.

Git yapılandırmanızdaki uzak kaynağı aşağıdaki satırla değiştirebilirsiniz:

git remote set-url origin git@github.com:username/projectname.git

Bu komut, itmek istediğiniz Git deposu için yeni bir URL ayarlar. Önemli olan kendi kullanıcı adınızı ve proje adınızı doldurmaktır


7
Teşekkürler, tam olarak ne yapmam gerekiyordu :)
winkbrace

Bu benim için böyle. Ama gerçekten bu sorun bana yardımcı oldu çünkü ben Windows için Gihub ile yüklü portableGit kullanıcı oldu. Çözümü burada
PerseP

Harika! Benim gittik repo benim zarif repo değiştirmek gerekiyordu ve bu çözüm mükemmeldi! Teşekkür ederim!
Marcelo dos Santos

OP ile aynı durum ve bunu ve ardından MrHus'un çözümünü yapmam gerekiyordu.
Sean the Bean

4
Bu en iyi cevap IMHO
kratos

83

Yerel adı yanlışlıkla "origin" olarak adlandırdıysanız, aşağıdakilerle kaldırabilirsiniz:

git remote rm origin

"Yanlışlıkla yerel adı 'köken' olarak adlandırdı" ne anlama geliyor? Bunu ayrıntılı olarak açıklayabilir misiniz? @Ozgur
Yuan Wen

1
Bu, git deposuna işaret etmeyen uzak kaynağı eklediğiniz anlamına gelebilir. Bu nedenle, tüm değişikliklerinizi master'a aktarmayı planlıyorsanız, git, uzak kaynağın bir git deposu olmadığını söyleyerek şikayet edecektir.
Gautham Honnavara

22

METHOD1->

Kökeni zaten var olduğundan kaldırın.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

METHOD2->

Mevcut uzak depo URL'sini -> git remote set-url ile de değiştirebilirsiniz.

HTTPS kullanmak için güncelleme yapıyorsanız

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

SSH kullanmak için güncelleme yapıyorsanız

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

Var olmayan bir uzaktan kumandayı güncellemeye çalışıyorsanız bir hata mesajı alırsınız. Bu yüzden dikkatli ol.

METHOD3->

Mevcut bir uzaktan kumandayı yeniden adlandırmak için git remote rename komutunu kullanın. Mevcut bir uzak ad, örneğin başlangıç ​​noktası.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

Uzaktan kumandanın yeni adını doğrulamak için->

git remote -v

Git'te yeniyseniz bu eğiticiyi deneyin->

GIT EĞİTİMİ DENEYİN


1
Çok teşekkürler. İndirildim, bir başkası git ve sonra da GitHub'ım içine kopyalamak istedi. Son olarak, ilk yönteminizi kullanarak başarılıyım.
Naimur Hasan

17

Yapılandırma dosyanızı bir metin düzenleyicide kolayca düzenleyebilirsiniz.

Içinde aşağıdaki gibi bir~/.gitconfig şey koymak gerekir :

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

In oldrep/.git/config(Deponuzun yapılandırma dosyasında) dosyası:

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

Deponuzun yapılandırma dosyasında uzak bir bölüm varsa ve URL eşleşiyorsa, yalnızca push yapılandırmasını eklemeniz gerekir. Getirme için genel bir URL kullanırsanız, URL'yi 'pushurl' olarak itmek için koyabilirsiniz (uyarı: bu, yeni piyasaya sürülen Git sürüm 1.6.4'ü gerektirir).


10
  1. git remote rm origin

  2. git remote -v Herhangi bir depo adı gösterilmez

  3. git remote add origin git@github.com:username/myapp.git

  4. git push origin master Süreci başlatır ve yeni dal oluşturur. İşinizin github'a itildiğini görebilirsiniz.


8

Mevcut "başlangıç ​​noktası" uzaktan kumandanızı kaldırmanız gerekmez, uzaktan eklentiniz için "başlangıç ​​noktası" dışında bir ad kullanın, ör.

git uzaktan ekle github git@github.com: adim / oldrep.git


8
git remote rm origin
git remote add origin git@github.com:username/myapp.git

6

Aynı sorunu aldım ve bazı araştırmalar yaptıktan sonra bunu nasıl düzelttim:

  1. Windows için GitHub'ı indirin veya kabuk içeren bir şey kullanın
  2. Git ShellGörev menüsünü açın . Bu, Git komutlarını içeren bir güç kabuğu açar.
  3. Kabukta eski deponuza geçin, ör. cd C:\path\to\old\repository
  4. Eski deponun durumunu göster

  5. Şimdi kullanarak uzak depoyu yerel depodan kaldırın.

    git remote rm origin
    
  6. 4. adımla tekrar kontrol edin origin. Getirme ve itme yolu yerine yalnızca gösterilmelidir .

  7. Eski uzak deponuzun bağlantısı kesildiğine göre, yeni uzak deponuzu ekleyebilirsiniz. Yeni deponuza bağlanmak için aşağıdakileri kullanın.

Not: Bitbucket kullanıyorsanız, önce Bitbucket üzerinde bir proje oluşturacaksınız. Oluşturulduktan sonra Bitbucket, deponuzu bir sonraki kod snippet'ine benzeyen uzaktan kumandaya itmek için gerekli tüm Git komutlarını görüntüler. Ancak bu, diğer depolar için de geçerlidir.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Bu kadar.


5

Bitbucket'i ilk kurduğumda da aynı sorunu yaşadım .

Benim sorunum, kendinden tanımlı bir şey için köken kelimesini değiştirmem gerekti. Uygulamanın adını kullandım. Yani:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

4

Uzak deponun adını başka bir şeyle değiştirmeniz gerekir.

git remote add origin git@github.com:myname/oldrep.git

için

git remote add neworigin git@github.com:myname/oldrep.git

Bunun işe yarayacağını düşünüyorum.

Evet, bunlar havuz başlatma ve yeni bir uzaktan kumanda ekleme içindir. Sadece isim değişikliği ile.


3

Ayrıca, REPOHOME / .git / config dosyasında göndermek istediğiniz havuz adını da değiştirebilirsiniz.

(REPOHOME, deponun yerel klonuna giden yoldur).



0

originVarsa kontrol etmeniz ve eklemeniz gerekir .

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

Dosya oluşturun check.sh, komut dosyasını git depo URL'nizi güncelleyin ve çalıştırın ./check.sh.


0

Aşama 1

git remote rm origin

Adım 2

git remote add origin enter_your_repository_url

Misal:

git remote add origin https://github.com/my_username/repository_name.git

-1

İlk olarak, kaldırılan uzaktan kumanda için bu kod satırını yazın:

$ git remote rm origin

ve sonra bu satırı yazın:

$ git remote add origin https://github.com/khadim321/React-Form.git

Düzgün çalışıyor.


cevabınıza daha fazla değer katmak için lütfen daha fazla açıklama yapmaya çalışın
Zeina

Birisinin github depolarınızdan birini uzak kaynak olarak eklemesine yardımcı olup olmadığından emin değilim. Bu soru zaten birkaç kez cevaplandı. Çok düşük kalitede yeni bir soru oluşturmadan önce diğer soruyu kontrol edin.
thmspl

-1

github içinde aynı projeyle yeni bir havuz oluşturmak istiyorsanız ve önceki Uzaktan Kumanda bu işlemi yapmanıza izin vermiyorsa, github'daki İlk O Havuzu Silin, sadece .git klasörünü silmeniz yeterlidir : C: \ Kullanıcılar \ Shiva \ AndroidStudioProjects \projectname \ .git bu klasörü silin , (bu klasör gizli olduğu için gizli dosyayı tıkladığınızdan emin olun)

Ayrıca android stüdyosundan eksi (Kaldır düğmesi) tıklayın Setting-> VersionControl Android'den Sürüm kontrolünü kaldırmak için buraya tıklayın Ve sonra yeni Depo oluşturabileceksiniz.

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.