Soru Git farklı kullanıcılardan komut çekme


Arkadaşımın kodu üzerinde olan bir projede arkadaşımla çalışıyorum. Değişiklikleri arkadaşımın makinesinden almam gerekirse, herhangi bir sorun olmadan aşağıdaki komutu kullanarak kullanıcı adımı / şifremi kullanabilir miyim?

git pull https://myusername@github.com/abc/theproject.git

44
2018-06-19 11:11


Menşei


GitHub'dan geçmeden arkadaşınızın değişikliklerini doğrudan makineden mi çekmeye çalışıyorsunuz? - Chris
@Chris, Evet temelde sitemiz makineye yerleştirildi. Bazı değişiklikler yaptım ve onu github'a ittim. Şimdi, arkadaşımın şu an tatil için dışarı çıkmasıyla değişiklikleri github'dan çekerek dağıtmak istiyorum. - Mohsin Inayat Khan


Cevaplar:


Bu komut, farklı kullanıcı olarak depodan çekilmeye yardımcı olacaktır:

git pull https://myusername@github.com/projectfolder/projectname.git master

Aynı makineyi, sizden önce kullandığınız aynı makineyi kullandığınızda ve kimlik bilgilerini kaydettiğinizde bir geçici çözümdür.


96
2017-10-05 16:31





Benzer bir sorunun çözümünü arıyordu. Davlet ve Cupcake tarafından sağlanan cevap sayesinde Problemimi çözebildim.

Bu cevabı buraya yazmayı düşündüğümden beri bu soruya cevap vermek

Bu yüzden genel olarak benim gibi insanların karşılaştığı problem, bir sunucuda başka bir kullanıcı tarafından bir repo klonlandığında ve bu kullanıcının artık repo ile ilişkili olmaması durumunda ne yapması gerektiğidir.

Eski kullanıcının kimlik bilgilerini kullanmadan repodan nasıl çekilir?

Repo'nuzun .git / config dosyasını düzenlersiniz.

ve değişim

url = https://<old-username>@github.com/abc/repo.git/

için

url = https://<new-username>@github.com/abc/repo.git/

Değişiklikleri kaydettikten sonra, bundan sonra git, yeni kullanıcının kimlik bilgilerini kullanırken verileri çeker.

Umarım bu, benzer bir sorunu olan herkese yardımcı olur.


17
2018-01-21 04:33



Daha da iyisi: kullanıcı adını URL’den çıkarırsınız, böylece çekerken kullanıcı adı sorar. - PLPeeters
aynısını yaptım. URL'yi URL’den çıkardı, doğrudan düzenleme yerine bunun gibi: git remote set-url origin git.mycompany.com/scm/myproj.git ... daha sonra tüm kullanıcıların (linux gruplarının) proje ve .git klasörüne yazabilmelerini sağladılar (aksi takdirde diğer kullanıcı ". ' - armyofda12mnkeys


Sorunuz biraz belirsizdir, ancak yaptığınız şey arkadaşınızın son değişikliklerini yapmaya çalışıyorsa, tipik olarak arkadaşınızın yapması gereken şey bu değişiklikleri uzak bir repoya (GitHub'da barındırılan gibi) itmek ve sonra bu değişiklikleri uzaktan kumandadan alırsınız veya çekersiniz:

  1. Arkadaşınız değişikliklerini GitHub'a zorluyor:

    git push origin <branch>
    
  2. Henüz yapmadıysanız uzak depoyu klonlayın:

    git clone https://myusername@github.com/abc/theproject.git
    
  3. Arkadaşınızın değişikliklerini getirin veya çekin (yukarıdaki 2. adımda klonladıysanız gereksiz):

    git fetch origin
    git merge origin/<branch>
    

    Bunu not et git pull Yukarıdaki iki adımı yapmakla aynı şeydir:

    git pull origin <branch>
    

Ayrıca bakınız


3
2018-06-22 09:20



Site arkadaşımın makinesine yerleştirildi. Makinemde bazı değişiklikler yaptım ve onu github'a ittim. Şimdi, arkadaşımın makinesini çekerek değişiklikleri devreye sokmak istiyorum çünkü o tatil için dışarıda. - Mohsin Inayat Khan
@MohsinInayatKhan öyleyse arkadaşının makinesine giriş yap ve ben yukarıda belirttiğim gibi 3. adımı yap. dağıtım sürecinizin nasıl çalıştığını varsayarak. Siteniz neden dağıtıldı? arkadaşının makinesi ve bazı üretim sunucusunda değil? Arkadaşın ne tür bir makine kullanıyor, dizüstü bilgisayar mı? Öyleyse, bu bir işletme web sitesine ev sahipliği yapmak için çok güvenli veya güvenilir bir yol olmaz.
Yardımınız için teşekkürler çocuklar. Aşağıdaki komut benim için çalıştı. git çek myusername@github.com/abc/theproject.git ana - Mohsin Inayat Khan
@MohsinInayatKhan bunu bir cevap olarak gönderebilirsiniz.