Pytanie o gita i stawianie środowiska lokalnie

0

Przepraszam, jeśli w złym miejscu tworzę wątek.

Pobralam projekt na komputer w intellij w terminalu mam C:\Users\Profil1\IdeaProjects\nazwa-projektu
po wpisaniu >git status jest odpowiedni komunikat:
On branch master
Your branch is up to date with 'origin/master'.

(to jest moim wyznacznikiem, że chyba zrobiłam to co chciałam :|)

Moje pytanie jest: czemu mam C:\Users\Profil1\IdeaProjects\nazwa-projektu i muszę się poslugiwać komendami takimi jak w windowsowym cmd, a nie mam ~IdeaProjects/nazwa-projektu (master) jak ludzie w biurze i nie musze się posługiwać bashowymi?

i jeszcze jedno pytanie, jeśli stworzę brancha "testing" to zmiany na nim moge commitowac ile chcę i nie pójdą na mastera?

7
  1. Bo używasz windowsa? Co to za pytanie? :D Zainstaluj sobie jakieś git-bash albo odpal Windows Linux Subsystem jak chcesz mieć linuxowy shell
  2. Commit jest tylko lokalny i nie idzie nigdzie. Jak zrobisz push na jakiegoś swojego brancha to nie pójdzie on do mastera póki go nie mergujesz.
  3. Zalecam zauważyć że intellij ogarnia gita i zalecam stosować jego UI zamiast komend, szczególnie jeśli ich nie umiesz.
0

A nie masz pod prawoklikiem czegoś w stylu "Open Git Bash Here"?

3

Ja bym polecał jednak obsługę projektu z git za pomocą poleceń. Nie zawsze jest możliwość korzystania z GUI, a wstyd nie umieć terminalem.

i jeszcze jedno pytanie, jeśli stworzę brancha "testing" to zmiany na nim moge commitowac ile chcę i nie pójdą na mastera?

Po to są branche, że dopóki nie przełączysz się na mastera i nie zrobisz $ git merge testing to nic się nie wydarzy.

0

W IntelliJ jest terminal.
Gdy się otworzy jego zakładkę to co się pojawi? Zadziała dir czy ls?

Czy w IntelliJ na Windows zadziałają polecenia gita
git status
git log --oneline --graph
czy trzeba wcześniej coś doinstalować?

0
gixihot252 napisał(a):

chyba zrobiłam to co chciałam

Na jednym koncie github (obce) postawiłem proste repo z HelloWorls
Zrobiłem fork tego repo na github, moje konto.
Z mojego konta WebStorm/IntelliJ
VCS | Get from Version Control

skontrolowałem w terminalu
git remote -v

Jest OK, IntelliJ/WebStorm dodało remote origin i master
origin ustawione na mój github, upstrem na "obcy"

Soft JetBrains robi co trzeba z marszu, nie trzeba się niczym dodatkowo zajmować/konfigurować.

1
purrll napisał(a):

Ja bym polecał jednak obsługę projektu z git za pomocą poleceń. Nie zawsze jest możliwość korzystania z GUI, a wstyd nie umieć terminalem.

Serio? Jak będzie potrzeba (a na 99% nie będzie) to się wpisze w google co trzeba i tyle. Z UI przyjemniej się korzysta jeśli chodzi o GITa

2
anonimowy napisał(a):

Serio? Jak będzie potrzeba (a na 99% nie będzie) to się wpisze w google co trzeba i tyle. Z UI przyjemniej się korzysta jeśli chodzi o GITa

Możliwe, że w świecie pięknych IDE tak właśnie jest. Z mojej perspektywy to też działało. Dopóki się nie okazało, że nagle musze korzystać z terminala, bo nie ma GUI. Wtedy okazało się, że owszem używam gita z GUI ale z terminala jak dziecko we mgle. Początkującemu chyba prościej zrozumieć co się dzieje w tle jak będzie wpisywać to samo niż klikać.

6
anonimowy napisał(a):
purrll napisał(a):

Ja bym polecał jednak obsługę projektu z git za pomocą poleceń. Nie zawsze jest możliwość korzystania z GUI, a wstyd nie umieć terminalem.

Serio? Jak będzie potrzeba (a na 99% nie będzie) to się wpisze w google co trzeba i tyle. Z UI przyjemniej się korzysta jeśli chodzi o GITa

Ja tego nie potrafię zrozumieć. Programiści codziennie tworzą kod który jest zapisany w postaci tekstowej, ale jak trzeba użyć Gita to nagle spamiętanie dla niektórych 10 komend to dla nich niesamowite wyzwanie. A funkcji i metod znają setki, jak nie tysiące. Czym różni się wywołanie komendy od wywołania funkcji że różnica w zachowaniu niektórych programistów jest tak duża?

1
KamilAdam napisał(a):

Ja tego nie potrafię zrozumieć. Programiści codziennie tworzą kod który jest zapisany w postaci tekstowej, ale jak trzeba użyć Gita to nagle spamiętanie dla niektórych 10 komend to dla nich niesamowite wyzwanie. A funkcji i metod znają setki, jak nie tysiące. Czym różni się wywołanie komendy od wywołania funkcji że różnica w zachowaniu niektórych programistów jest tak duża?

Komendy z grubsza pamiętam, ale nadal szybciej używa mi się skrótów klawiaturowych (góra dwa klawisze) niż wpisuje komendy.

No i nie zachowuj się jak Javowiec, to że Ty coś preferujesz, nie znaczy, że wszyscy muszą to samo. :P

2

Nie wiem jak można rezygnować z UI jeśli chodzi o wersjonowanie.

  1. Widzisz jakie pliki dodajesz, jakie były zmiany, w bardzo przejrzysty sposób .
  2. Możesz dodawać/kasować pliki jednym kliknięciem
  3. W łatwy sposób możesz przenieść część zmian z pliku do innej changelisty i nie commitować tego.
  4. Jeden skrót klawiszowy zamiast skakania w terminalu
  5. Merge jest bardzo łatwy przy trzech kolumnach. Mało tego, że łatwy to bardzo przejrzysty

Terminal nie ma podbicia do UI w żadnym aspekcie

0

Wracając tak właściwie do pytania, bo widzę, że kolegów poniosło (jak to Polaków, jak, ktoś robi coś nie tak jak oni ;) )...

1 Odpaliłeś pewnie git-cmd.exe (przestarzałe) - jest to git w powłoce Windowsa i emulatorze terminala cmd. Żeby nie było Windows obsługuje inne powłoki systemowe oraz emulatory terminala. Domyślnie git instaluje basha i msys. Żeby odpalić to i widzieć po "linuksowemu", mimo, że na Windowsie musisz znaleźć program git-bash.exe. Jak instalowałeś z instalki gita to wszystko musisz mieć już na komputerze.

2 Jak stworzysz osobny branch to nic nie wyjdzie na mastera. To też zależy jaki git-flow macie w firmie. Często tworzy się gałęzie rozwojowe lokalne, potem się je squash'uje i wypycha na repozytorium zdalne, a następnie robi się merge request do jakiejś innej gałęzi - najczęściej jakiejś integracyjnej lub sprintowej, a dopiero potem kiedyś na mastera. Niemniej to zależy od firmy. Dodatkowo dobra firma ma chronionego mastera - czyli, nikt nie może pushować tam zmian, w grę wchodzę jedynie merge requesty i tylko część osób ma prawa do mergu, a na pewno nie osoby, które raczkują w git.

Rada: Konsola się sprawdza i też lata jej używałem. Niemniej czasem warto sobie wizualizować gałęzie, jak szuka się kiedy jakaś zmiana weszła. Pomaga w tym polecenie gitk w bashu - jest to dołączony do git osobny program robiący za gui i wrapujący gita. Bardzo pomocne. Natomiast graficzne GUI pomaga np. w dodawaniu tylko paru plików - szybciej kliknąć w 3 meijsca niż wpisywać... do tego fajne jest polecenie git gui które otwiera prosty interface graficzny (wbudowany w gita). Git gui zawiera także możliwość wejścia do gitk. Niemniej ostatecznie polecam GitExtension - posiada fajne opcje w porównaniu do git gui (np. wczytywanie kluczy, manager remote, pull (!), integracje z github, i wiele innych), przy czym nie jest mułowate. Jakoś osobiście nie uzywam integracji git w IDE, a to może dlatego, że systemy jakie używam są tworzone w różnych technologiach i czasem commit jednego tematu to commit na 3-4 repo w różnych językach, więc wolę mieć wszystkie repo z interfacu gui, a nie z 4 różnych IDE. Jedyne co używam, to w VS informacje, kto zrobił daną metodę i kto ja modyfikował i kiedy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1