git - uzak set kaynağına karşı uzak set-url orijini


413

Yeni bir depo oluşturuyorum:

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

Sonra github üzerinde oluşturulan boş uzak depoya benim taahhüt itmek istiyorum, bu yüzden uzaktan ayarlamak zorunda.

Aşağıdaki komutları kullanma arasındaki fark nedir? :

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

Sonunda itme gerçekleştiriyorum:

git push -u origin master

Edit1:

Git init'ten hemen sonra uzak set-url kaynağını çağırdığımda ne olur? Uzak set-url kaynağı başlangıç ​​noktası oluşturuyor mu? Git init'ten sonra başlangıç ​​noktası zaten varsa, senaryomda bu komutları kullanma arasında bir fark yoktur, değil mi?

Yanıtlar:


509

Aşağıda yeni bir uzaktan kumanda eklemek için kullanılır:

git remote add origin git@github.com:User/UserRepo.git

aşağıda mevcut bir uzak deponun URL'sini değiştirmek için kullanılır:

git remote set-url origin git@github.com:User/UserRepo.git

Aşağıda tanımlanmış uzaktan depo ustası dalına kodunuzu itecektir originve -uuzak ana dal için geçerli yerel şube işaret edelim:

git push -u origin master

belgeleme


A'dan yerelime klonlayıp "git remote set-url B" yi kullanırsam. A'daki havuzu silecek mi? GitLab taahhüt AWS kod taahhüt bir depo klonlamaya çalışıyorum
Josh

genellikle yeni bir repo istediğimde, bir hata yaparım ve çıkış noktasını başlangıç ​​noktasına ayarlıyorum. 2. komutu kullanarak düzeltmeniz gerekecekgit remote set-url origin git@github.com:User/UserRepo.git
Honey

-u Uzak ana dalına mevcut yerel şube işaret izin anlayamadığım neden böyle yapmak isterdim. Diyelim ki ustadan çektim, yeni bir özellik oluşturdumBranch ... değişikliklerimi yaptım ve sonra değişikliklerimi origin / featureBranch'a ittim ve sonra bu özelliği ustamla birleştirdim / çektim. <- şu anda benim featureBranch ile bitmiş değilim? Neden uzak ana dalı işaret etmesi gerekiyor? Yerel / master'a ödeme yapmamalı ve daha sonra en son kaynaktan çekmem gerekir mi?
Bal

-uBence yanıltıcı olan bayrağın açıklaması dışında cevap çok iyi . -uBayrağın açıklaması için, bu konuya bir göz
atmanızı

ve -u mevcut yerel şubenizi uzak ana şubeye yönlendirmenize izin verin: Bu çizgiyi anlamıyorum ... Ne demek istediniz?
yağmur yağıyor

62
  • Çalıştırdığınızda git remote add origin git@github.com:User/UserRepo.gitadında yeni bir uzaktan kumanda oluşturuldu origin.
  • Çalıştırdığınızda git remote set-url origin git@github.com:User/UserRepo.gitgit, adı olan mevcut uzaktan kumandayı arar originve uzak havuz url'sini değiştirir. Git adında bir uzaktan kumanda bulamazsa origin, bir hata oluşturur fatal: No such remote 'origin'.

Yeni bir havuz oluşturacaksanız, git remote add origin git@github.com:User/UserRepo.gituzaktan kumanda eklemek için kullanın .


Lütfen Edit1'e bakınız
Irbis

git initherhangi bir kaynak eklemez. Yalnızca git deposu başlatılacaktır. Var olan herhangi bir havuzu klonlarsanız, uzak bir kökene sahiptir. Tavsiye değil git addsonra git initkullanmaktır set-url.
Ram

@Ram Git init'ten sonra set-url'yi anlamsız olarak çağırmamak açıktır. set-url değişecek ve add yeni uzaktan kumanda eklenecek.
Santosh

61

Aşağıda yerel repo'yu yeniden başlatacak; ayrıca uzak depoları da temizler (yani başlangıç ​​noktası):

git init

Daha sonra aşağıda, yoksa 'orijin' yaratacaktır:

git remote add origin [repo-url]

Aksi takdirde, set-urlmevcut bir uzaktan kumandayı düzenlemek için alt komutu kullanabilirsiniz :

git remote set-url origin [repo-url]

Ayrıca, mevcut uzaktan kumandaları

git remote -v

Bu yardımcı olur umarım!


1
git remote set-url origin ...yeni bir başlangıçta bana ölümcül bir mesaj geldi: Böyle uzak bir 'köken' yok. git remote add origin ...çalıştı.
Robb Vandaveer

@RobbVandaveer Yakaladığınız için teşekkürler! set-url
Subcommand'ın

32

git remote add=> Yeni bir uzaktan kumanda ekler .

git remote set-url=> Mevcut uzaktan kumanda GÜNCELLEME .


  1. Ardından gelen adduzak ad, bu komuttan önce var olmayan yeni bir uzak addır.
  2. Ardından gelen uzak ad set-urldeponuz için uzak ad olarak var olmalıdır.

git remote add myupstream someurl => myupstream uzak adı artık bu komutla oluşturulmadı.

git remote set-url upstream someurl => yukarı akım adı zaten var sadece ben url değiştiriyorum.


git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream

30

Yeni bir uzaktan kumanda eklemek için git remote add, deponuzun depolandığı dizindeki terminaldeki komutu kullanın .

git remote set-urlKomutu, varolan uzak depo URL'sini değiştirir.

Temel olarak, remote addyeni bir tane eklemek, remote set-urlvar olanı güncellemek


28

1. git remote add origin git@github.com:User/UserRepo.git

  • Bu komut, geçerli çalışma deponuzu kullanarak git'i başlattıktan sonra komut serisindeki ikinci adımdır git init.
  • Bu komut basitçe "uzak deponuzun konumlarını, dosyalarınızı / dosyalarına aktarmak istediğiniz yere ekliyorsunuz demektir .. .."
  • Uzak deponuz github, gitlab, bitbucket, vb. Üzerinde herhangi bir yerde olabilir.
  • Burada originuzaktan her zaman ve bundan sonra size uzak başvurmak için bu adı (orijin) kullanacağı beyan edilmektedir için tüm yolu yazmak zorunda kalmamak için bu uzak depo için bir takma ad / alternatif bir addır. Bu isim her şey olabilir.
  • Uzaktan kumandanın doğru ayarlandığını doğrulamak için şunu yazın: git remote -v

    VEYA git remote get-url origin

2. git remote set-url origin git@github.com:User/UserRepo.git

Bu komut, yanlışlıkla yanlış bir depoya ilk kez basarsanız , yukarıdaki komutu kullanarak "uzak depo yolunuzu sıfırlayabilirsiniz" anlamına gelir .

3. git push -u remote master

Bu komut sadece olarak bilinen şeyin bir kavram vardır uzak repository.Git dosyalarınızı iter "dalında" varsayılan her şey doğru itilir böylece tarafından, usta açıkça alternatif bir dalı belirtilmediği sürece şube.

Havuz türünüzde bulunan tüm dalların listesini öğrenmek için:git branch


10

Bunu dene:

git init  
git remote add origin your_repo.git  
git remote -v  
git status  

7

remote set-url originHemen sonra çağıramazsınızgit init , çünkü git remote set-urlkomut başlangıç ​​kaynağı oluşturmaz, ancak varolan bir uzak depo URL'sini değiştirir .

bu nedenle komut git remote set-urlyalnızca depoyu klonladıysanız veya origin adlı bir uzaktan kumandayı manuel olarak eklediyseniz çalışır.

uzaktan git remote -vkumandayı adından sonra uzaktan url gösterecek komutla kontrol edebilirsiniz veya bu komut fatal: Not a git repository (or any of the parent directories): .gitdepo mevcut olmadığında hata veriyorsa, komutla başlangıç ​​noktası eklemeniz gerekirgit remote add

1. git remote add

Bu komut yeni bir uzaktan kumanda eklemek için kullanılır, bu komutu terminalde, deponuzun dizininde kullanabilirsiniz.

Git remote add komutu iki bağımsız değişken alır:

  1. Bir uzaktan adı , örneğin, kökeni
  2. Bir uzak URL , örneğin, https://github.com/user/repo.git

Örneğin:

git remote add origin https://github.com/user/repo.git

2.git remote set-url

Git remote set-url komutu mevcut bir uzak depo URL'sini değiştirir.

Git remote set-url komutu iki bağımsız değişken alır:

  1. Bir varolan uzaktan adı . Örneğin originveya upstreamiki yaygın seçenektir.
  2. Bir uzaktan kumanda için yeni URL

Örneğin, uzaktan kumandanızın URL'sini git remote set-urlkomutuyla SSH'den HTTPS'ye değiştirebilirsiniz .

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

uzak URL'nin değiştiğini komutla doğrulayabilirsiniz git remote -v.

not: "origin" komutun bir parçası olmayan bir kuraldır. "origin", uzak deponun yerel adıdır. "orijin" yerine herhangi bir isim kullanabilirsiniz.

Örneğin:

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

Github'dan referanslar: remote add , remote set-url


0

Mevcut bir projeniz varsa ve uzak depo URL'si eklemek istiyorsanız, aşağıdaki komutu yapmanız gerekir

git init

readme.md dosyasını eklemek isterseniz, onu oluşturabilir ve aşağıdaki komutu kullanarak ekleyebilirsiniz.

git add README.md

Aşağıdaki komutu kullanarak ilk taahhüdünüzü yapın

git commit -m "first commit"

Şimdi tüm yerel depo işlemini tamamladınız, şimdi nasıl uzak depo URL'si ekliyorsunuz? Aşağıdaki komutu kontrol edin, bu ssh url içindir, https için değiştirebilirsiniz.

git remote add origin git@github.com:user-name/repository-name.git

İlk taahhüdünüzü nasıl zorlarsınız aşağıdaki komutu inceleyin :

git push -u origin master
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.