NetBeans + Git

ShookTea
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 6 lat
  • Lokalizacja:Wrocław
  • Postów:629
0

Pracowałem nad pewnym projektem w NetBeans. Po kilku commitach wykonałem push na GitHub. Teraz, siedząc przy innym OS, zainstalowałem znowu NetBeansa, pobrałem kod z GitHub za pomocą narzędzia "pull" (czy jakoś tak). Wykonałem kilka kolejnych commitów, ale teraz nie mogę z drugiego komputera zrobić push - w okienku "Git Push Failed" czytam, że "Remote repository contains commits unmerged into the local branch. Open output to see more information".

Moje pytania:

  1. Czy sposób pobierania z GitHub (pull) był dobrym pomysłem? Bo szczerze, to ja dopiero pierwszy raz byłem zmuszony pobierać kod, do tej pory tylko go wysyłałem.
  2. Co robię źle, że nie mogę teraz wysłać plików na GitHub?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
0

Nie możesz zrobić pull, póki nie włączysz zmian ze zdalnej gałęzi (tej na GitHubie) do swojej lokalnej. Najpierw musisz zrobić push, a dopiero potem pull.

ShookTea
Ale nie mogę push zrobić w ogóle. Zrobiłem obok drugi projekt lokalny, nie mogłem zrobić żadnego pusha przed commitem... po commicie też nie. Chyba, że czegoś nie zrozumiałem.
somekind
Piszmy w postach, nie komentarzach.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
1

@ShookTea, jaki drugi projekt lokalny?

Z gitem pracuje się tak:

  1. Pobierasz kod ze zdalnego repozytorium przez pull.
  2. Edytujesz kod.
  3. Robisz commit - zmiany zapisują się do lokalnego repozytorium.
  4. Robisz push - zmiany wysyłasz do zdalnego repozytorium.

Jeżeli między ostatnim pullem a Twoim nowym pushem coś się zmieniło na zdalnym repozytorium, to musisz te zmiany pobrać do siebie znowu pullem.

ShookTea
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 6 lat
  • Lokalizacja:Wrocław
  • Postów:629
0

Zasadniczo daję jako rozwiązane, ale coś mi tu nie gra. Wcześniej zrobiłem dokładnie to samo i nie działało, a teraz wszystko jest w porządku.

W każdym razie, dziękuję.


Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

@ShookTea ale z treści twojego posta nie wynika wcale że na tym pierwszym komputerze zrobiłeś pull / fetch+merge a to jest konieczne. Bo żeby robić push musisz mieć aktualny kod z danego brancha. Jeśli w międzyczasie ktoś wrzucił zmiany do repozytorium to musisz je ściągnąć zanim wyślesz swoje. W ten sposób jest gwarancja że kod w repozytorium się przynajmniej kompiluje (o ile nie pushujesz niekompilujących się zmian :P). Gdyby nie było takiego wymagania to mógłbyś przypadkiem "nadpisać" komuś zmiany albo zrobić build break.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Zobacz pozostałe 15 komentarzy
ShookTea
Nic nie wspomniałem o instalowaniu wtyczki :) https://windows.github.com/
somekind
@ShookTea, jeśli używasz Windowsa, to zainteresuj się GitExtensions: https://code.google.com/p/gitextensions/ Jedyne GUI do gita, które pozwala na wywoływanie wszystkich funkcji w trybie graficznym. Do tego ma czytelny interfejs pozwalający na szybkie przeglądanie zmian między gałęziami/commitami i w ogóle potrzebujący mało kliknięć do zrobienia czegokolwiek.
ShookTea
Zasadniczo, wolałbym póki co korzystać z tego narzędzia od GitHub, choćby ze względu na to, że został stworzony specjalnie pod tamtejsze serwery, jest intuicyjny i również czytelny. BTW, z wyglądu przypomina mi kafelki w Windows 8.
somekind
No jak wolisz, to tylko propozycja. Githuba nie używam na szczęście.
ShookTea
Windows 8, nie 7. Kurde.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.