Pytanie Polecenie Git pull od innego użytkownika


Pracuję z moim przyjacielem nad projektem, którego kod znajduje się na Git. Jeśli muszę pobrać zmiany z komputera mojego znajomego, czy mogę je pobrać z mojej nazwy użytkownika / hasła za pomocą następującego polecenia bez żadnego problemu?

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

44
2018-06-19 11:11


pochodzenie


Czy próbujesz ściągnąć zmiany swojego przyjaciela bezpośrednio ze swojego komputera bez przechodzenia przez GitHub? - Chris
@Chris, Yes w zasadzie nasza strona jest wdrożona na jego komputerze. Wprowadziłem kilka zmian i pchnąłem go na github. Teraz chcę wdrożyć zmiany przez wyciągnięcie z github, jak mój przyjaciel jest na wakacje na teraz. - Mohsin Inayat Khan


Odpowiedzi:


To polecenie pomoże pobrać z repozytorium jako inny użytkownik:

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

Jest to obejście problemu, gdy używasz tego samego komputera, z którego ktoś inny korzystał przed tobą, i zapisałeś poświadczenia


96
2017-10-05 16:31





Szukałem rozwiązania podobnego problemu. Dzięki odpowiedzi udzielonej przez Davlet i Cupcake Byłem w stanie rozwiązać mój problem.

Zamieszczam tę odpowiedź tutaj, ponieważ myślę, że to jest zamierzone pytanie

Sądzę więc, że ogólnie rzecz biorąc, problemem jest to, co ludzie robią, gdy repo jest klonowany przez innego użytkownika na serwerze, a ten użytkownik nie jest już powiązany z repozytorium.

Jak wyciągnąć z repozytorium bez używania poświadczeń starego użytkownika?

Edytujesz plik .git / config swojego repozytorium.

i zmienić

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

do

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

Po zapisaniu zmian, od tej pory git pull pobiera dane przy użyciu poświadczeń nowego użytkownika.

Mam nadzieję, że pomoże to każdemu z podobnym problemem


17
2018-01-21 04:33



Co więcej: pozostawiasz nazwę użytkownika z adresu URL, więc podczas ciągnięcia poprosi Cię o nazwę użytkownika. - PLPeeters
Zrobiłem to samo. zostawił adres URL z adresu URL, tak jak zamiast edytować bezpośrednio: git remote set-url origin git.mycompany.com/scm/myproj.git ... następnie upewniłem się, że wszyscy użytkownicy (ich grupa linuxowa) mają dostęp do zapisu do projektu i folderu .git (w przeciwnym razie inny użytkownik otrzyma komunikat o błędzie mówiąc, że nie może zaktualizować .git / HEAD na przykład, gdy uruchomią "git pull" " - armyofda12mnkeys


Twoje pytanie jest trochę niejasne, ale jeśli to, co robisz, próbuje uzyskać najnowsze zmiany przyjaciela, to zwykle to, co twój znajomy musi zrobić, to przesunąć te zmiany do zdalnego repozytorium (takiego jak hostowane na GitHub), i następnie pobrać lub pobrać te zmiany z pilota:

  1. Twój przyjaciel przesyła swoje zmiany do GitHub:

    git push origin <branch>
    
  2. Sklonuj zdalne repozytorium, jeśli jeszcze tego nie zrobiłeś:

    git clone https://myusername@github.com/abc/theproject.git
    
  3. Pobierz lub przeciągnij zmiany znajomych (niepotrzebne, jeśli po prostu sklonowano w kroku 2 powyżej):

    git fetch origin
    git merge origin/<branch>
    

    Zauważ, że git pull jest taki sam jak dwa powyższe kroki:

    git pull origin <branch>
    

Zobacz też


3
2018-06-22 09:20



Witryna jest wdrażana na komputerze mojego przyjaciela. Wprowadziłem kilka zmian na moim komputerze i pchnąłem go na github. Teraz chcę wdrożyć zmiany, ciągnąc maszynę mojego przyjaciela, ponieważ jest on na wakacjach. - Mohsin Inayat Khan
@MohsinInayatKhan, a następnie zaloguj się do komputera twojego przyjaciela i wykonaj krok 3, jak wskazałem powyżej, zakładając, że tak działa twój proces wdrażania. Dlaczego Twoja witryna jest wdrożona maszyna twojego przyjaciela a nie na jakimś serwerze produkcyjnym? Jakiej maszyny używa twój przyjaciel, laptop? Jeśli tak, to nie byłby bardzo bezpieczny lub niezawodny sposób na prowadzenie strony internetowej firmy.
Dzięki chłopaki za pomoc. Następujące polecenie zadziałało dla mnie. git pull myusername@github.com/abc/theproject.git mistrz - Mohsin Inayat Khan
@MohsinInayatKhan możesz opublikować to jako odpowiedź.