Darmowe narzędzie do kontroli wersji offline

Darmowe narzędzie do kontroli wersji offline

Wątek przeniesiony 2023-03-09 08:37 z Gamedev przez Patryk27.

T1
  • Rejestracja:około 3 lata
  • Ostatnio:12 miesięcy
  • Postów:37
0

Witam
Chciałem się dowiedzieć czy istnieje jakieś darmowe narzędzie do tworzenia repozytorium na komputerze zamiast w Internecie?
Zależy mi na tym ponieważ mój projekt ma sporo plików graficznych GitHub od razu ogranicza mi przez to że jest tylko 1GB transferu miesięcznie.
Ponoć jest GitLab, ale nie pobieram, ponieważ tylko 30 dni okres próbny.

edytowany 1x, ostatnio: Riddle
jurek1980
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 3 godziny
  • Postów:3456
4

Co chcesz uzyskać? Bo przecież lokalnie jak zrobisz w projekcie git init to masz już podpiętego gita właśnie lokalnie.

Alley Cat
  • Rejestracja:około 2 lata
  • Ostatnio:prawie 2 lata
0

Ewentualnie:

Kopiuj
git init --bare project.git

W Internecie nikt nie wie, że jesteś kotem.
T1
  • Rejestracja:około 3 lata
  • Ostatnio:12 miesięcy
  • Postów:37
0

Ale wszelkie zmiany i wszystkie aktualizacje miał lokalnie.
Żebym mógł dodawać Commit lokalnie i robić całą historię zmian a nie że wszystko musze dawać na GitHub-a
PS: Tylko i wyłącznie lokalnie

edytowany 1x, ostatnio: tdx110
Zobacz pozostałe 2 komentarze
CP
git log --graph --all ? coś takiego?
T1
I żeby miał interfejs graficzny. Jakoś nie wyobrażam sobie przy 200 zmianach przeszukiwać wiersz poleceń. Poza tym nie pokaże mi jakie zmiany były przed wprowadzeniem tak jak w GitHub czy SourceTree.
CP
diffy możesz zrobić, możesz do danej gałęzi się przenieść wtedy cały twój katalog się zmieni, można też przeszukać wszystkie twoje zmiany commitowe, wszystko się da :>
T1
Ale to jest oddzielna gałąź a ma być w jednej, głównej zmiany. GitHub nie spełni tych wymagań i dajcie z nim spokój na upartego wszystko w nim próbować. Napisałem żeby nie była w wierszu poleceń i żeby była jak normalny GitHub Desktop.
CP
jak nie konsola to ci nie pomogę, zainstaluj jakieś dostępne narzędzie git tortoise czy coś nie wiem nie korzystałem, ale pewnie ułatwia i niektórzy polecają.
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
7

Git jest w zamyśle lokalnym narzędziem; jeśli obawiasz się, że wersja konsolowa będzie niewygodna w użyciu (fair enough!), pogooglaj za git gui, git gui client, git porcelain itd.

Ja sam wykorzystuję Magita, ale jeśli nie jest Ci po drodze z Emacsem, to masz do wyboru jeszcze GitKraken, VSCode, gitk (tylko do przeglądania, afair) i dziesiątki innych narzędzi.


edytowany 4x, ostatnio: Patryk27
S4
Git jest w zamyśle w pełni lokalnym narzędziem pozwolę sobie nie zgodzić się z tym twierdzeniem. Git w zamyśle jest narzędziem rozproszonym. Czyli też lokalnym.
Patryk27
lokalnym dla porównania np. z SVNem, który wymaga połączenia z siecią; dodatkowo funkcje sieciowe w Gicie są kinda opcjonalne - równie dobrze można by wysyłać pacze na listę mailingową tak, aby każdy potem sobie je zaaplikował lokalnie we własnym zakresie 👀
Riddle
@S4t: Tylko ponieważ jest rozproszony, nie znaczy że nie jest lokalny. Możesz mieć wiele instancji tego samego repozytorium na jednej maszynie - jest zarówno rozproszony jak i lokalny. "Rozproszony" to nie jest synonim słowa "sieciowy".
Riddle
@S4t: Poza tym to o co chodziło @Patryk27 to to że można w 100% używać gita lokalnie i nadaje się do tego bardzo dobrze, i to akurat jest prawda.
S4
Ale ja nie twierdze, że lokalne nie zawiera się w rozproszone.
SA
  • Rejestracja:około 12 lat
  • Ostatnio:około 2 godziny
  • Postów:1427
4

Kolega popełnił błąd, bo zamiast użyć jakiegoś agnostycznego GUI to wybrał vendor-locked GitHub Desktop i przez to utożsamia gita z serwisami hostującymi repozytoria. Warto zapamiętać, że:

  1. git to nie SVN i by design nie wymaga żadnych serwerów
  2. lokalne repozytoria nie różnią się niczym od hostowanych zdalnie
  3. jest wiele narzędzi ułatwiających pracę z git, a praktycznie każde IDE posiada wbudowaną integrację.

Wg mnie https://www.gitkraken.com/ jest spoko, wersja free jest For solo devs on public & local repos only, więc w tym wypadku pasuje idealnie.

T1
  • Rejestracja:około 3 lata
  • Ostatnio:12 miesięcy
  • Postów:37
0

GitKraken rzeczywiście spełnia moje oczekiwania, jednak pokazuje mi że to wersja Trial.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Warszawa
  • Postów:2249
1

Obadaj Gitlaba CE - to ten self-hosted. Możliwe, że da się tam skorzystać z LFS (https://docs.gitlab.com/ee/topics/git/lfs/)
Poza tym możliwe że coś żle przeczytałeś, albo patrzyłeś nie na tę wersję - ale Gitlab self-hosted jest darmowy, ale możliwe że jest to model taki, że pierwszy miesiąc to takie demo pełnej wersji (trial na 30 dni), a potem jeśli byś chciał korzystać z pełnej funkcjonalności to zapłacisz, ale moim zdaniem ta darmowa ciutkę przycięta wersja powinna Ci wystarczyć.

edytowany 1x, ostatnio: axelbest
SA
  • Rejestracja:około 12 lat
  • Ostatnio:około 2 godziny
  • Postów:1427
1

@axelbest: ale Ty czytałeś w ogóle wątek? Typ chce wizualizować historię commitów, bo nie ogarnia, że nie potrzebuje do tego zdalnych repo, a Ty mu z GitLab self-hosted.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Warszawa
  • Postów:2249
0

@Saalin: Tak czytalem, ale jak OP wspomina Zależy mi na tym ponieważ mój projekt ma sporo plików graficznych GitHub od razu ogranicza mi przez to że jest tylko 1GB transferu miesięcznie. W przypadku GitLaba postawionego lokalnie ten problem odpada. Poza tym, self-hosted gitlab daje prawie takie same wrażenia z interfejsu jak github.

No ale tak... kłócić się nie będę. Mam przy okazji pytanie - jeśli OP będziesz chciał żeby ktoś mu zaktualizował jego lokalne repo - jak by to miało wyglądać? Zwłaszcza przy dużych plikach graficznych? Jego komp miałby być always-on?

edytowany 1x, ostatnio: axelbest
T1
  • Rejestracja:około 3 lata
  • Ostatnio:12 miesięcy
  • Postów:37
0

Nie chcę niepotrzebnie męczyć się z wierszem poleceń. Jesteśmy w XXI wieku. To nie czasy XP czy 98 żeby pisać w wierszu poleceń.
Chcę sobie ułatwić pracę a nie utrudniać.

axelbest
Nie wiem do którego posta/komentarza odnosi sie ta wypowiedź, ale powiem szczerze, że im więcej korzystam z GUI i widzę w jakim kierunku to idzie, to jestem coraz większym zwolennikiem CLI. Ale skoro GUI Ci ulatwia - to nie mam z tym zadnego problemu :), wazne ze Ci pomaga.
Patryk27
@tdx110: obecne terminale znacząco różnią się od tych, które istniały za czasów Win98 - być może masz złe wrażenia z cmd.exe, ale nowoczesne rozwiązania w stylu https://ohmyz.sh/ czy https://www.nushell.sh/ bywają o wiele bardziej wygodne niż GUI, głównie z racji możliwości chainowania poleceń, przesyłania outputu jednego polecenia do drugiego itp., czyli rzeczy których nie zrobisz z poziomu GUI chyba że autorzy wprost coś takiego zaimplementowali. Tym niemniej oczywiście jednemu rabinowi spasuje, drugiemu nie - imo najwygodniej korzystać z GUI i CLI od potrzeby :-)
CP
CLI najlepsze, szybko sprawdzisz sobie komendy jak zapomnisz, łatwiej konfigurowalne, w gui to się naszukasz, tu man lub w google przykłady. Ja nie wyobrażam sobie życia bez konsoli jak się obudzę to ctrl + t żeby konsolę przywołać.
T1
Właśnie, sprawdzisz sobie komendy jak zapomnisz... Moim celem jest w ogóle uniknięcie potrzeby zapamiętywania jakichkolwiek komend i intuicyjny interfejs.
Patryk27
Hmm, ale czym tak w zasadzie różni się zapamiętanie polecenia git pull od zapamiętania przycisk do pobierania zmian znajduje się w widoku 'Git -> Repository' i potem na dole toolbara po lewej, taka ikonka ze strzałką w dół? 👀
SA
  • Rejestracja:około 12 lat
  • Ostatnio:około 2 godziny
  • Postów:1427
0
axelbest napisał(a):

@Saalin: Tak czytalem, ale jak OP wspomina Zależy mi na tym ponieważ mój projekt ma sporo plików graficznych GitHub od razu ogranicza mi przez to że jest tylko 1GB transferu miesięcznie. W przypadku GitLaba postawionego lokalnie ten problem odpada. Poza tym, self-hosted gitlab daje prawie takie same wrażenia z interfejsu jak github.

No ale tak... kłócić się nie będę. Mam przy okazji pytanie - jeśli OP będziesz chciał żeby ktoś mu zaktualizował jego lokalne repo - jak by to miało wyglądać? Zwłaszcza przy dużych plikach graficznych? Jego komp miałby być always-on?

No nie czytałeś:

Ale to jedna zmiana, a chcę jak na internetowym repo mieć całą dostępną gałąź zmian z komentarzami.
I żeby miał interfejs graficzny. Jakoś nie wyobrażam sobie przy 200 zmianach przeszukiwać wiersz poleceń. Poza tym nie pokaże mi jakie zmiany były przed wprowadzeniem tak jak w GitHub czy SourceTree.

Czy w ogóle padła tu sugestia, że z kimś współpracuje i potrzebuje synchronizować wiele repozytoriów? Bo ja tu widzę potrzebę GUI, zwykłego GUI do gita jakich wiele - wyświetlić graf branchy, wyświetlić diffy między branchami etc. Problem XY - napalił się na coś podobnego do GitHuba, bo tak, GH ładnie to wyświetla, ale to nie znaczy, że nie jest to osiągalne w inny sposób.

No i w jaki sposób self-hosted rozwiązuje problem Jego komp miałby być always-on?? :D

edytowany 2x, ostatnio: Saalin
axelbest
Czy postawienie GitLaba rozwiaże problem ładnego GUI i przesyłania duzych plików - bez tracenia pakietu danych komórkowych? Wg mnie tak :)
SA
Czy nie stawianie GitLaba rozwiąże problem ładnego GUI i przesyłania dużych plików? Wg mnie tak, bo nie trzeba będzie tego robić. A w szczególności ominie to problem stawiania GitLaba w ogóle.
S4
  • Rejestracja:około 3 lata
  • Ostatnio:około rok
  • Postów:1268
1

TortoiseGit
screenshot-20230309094224.png

HI
  • Rejestracja:prawie 13 lat
  • Ostatnio:dzień
  • Postów:1855
0

Większość IDE (a przynajmniej te z którymi ja miałem styczność) mają wbudowane narzędzia do obsługi repozytorium GIT - z jakiego środowiska korzystasz?

T1
  • Rejestracja:około 3 lata
  • Ostatnio:12 miesięcy
  • Postów:37
1

GitKraken jest dla mnie dobrym rozwiązaniem. Szukam programu z interfejsem graficznym ponieważ nie chce niepotrzebnie zapamiętywać i wpisywać komend do wiersza poleceń.
Dlatego interfejs graficzny jest lepszy i dlatego szukałem takiego programu.

jurek1980
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 3 godziny
  • Postów:3456
2

Jak masz zainicjowanego gita w projekcie to masz w zasadzie wszystko co potrzeba. Musisz tylko znaleźć sobie jakieś wygodne narzędzie. Jak piszesz program to pewnie w jakimś IDE. Zobacz czy nie ma rozszerzeń do tego IDE do wizualizacji historii czy innych najczęściej wykonywanych czynności.
Teraz powiedzmy, że na tym samym kompie postawisz sobie np. Gitlaba. To po prostu to samo masz w dwóch miejscach, ale wciąż na tym samym komputerze. Gitlab ma zaletę jeśli jest na innym komputerze, wtedy masz backup kodu. Dodatkowo taki komputer może być dostępny 24/7 i inni też mogą się do niego łączyć.
Oczywiście to w skrócie bo pod spodem i tak jest GIT sam w sobie.
Podsumowując IMHO zacznij od znalezienia fajnej wtyczki do swojego IDE lub zoabacz czy już czegoś nie ma. Dwa pomyśl o backupie. Bo pchając kod na Github taki backup masz. A trzymając to tylko lokalnie możesz stracić mnóstwo pracy.

S4
  • Rejestracja:około 3 lata
  • Ostatnio:około rok
  • Postów:1268
0
tdx110 napisał(a):

GitKraken jest dla mnie dobrym rozwiązaniem. Szukam programu z interfejsem graficznym ponieważ nie chce niepotrzebnie zapamiętywać i wpisywać komend do wiersza poleceń.
Dlatego interfejs graficzny jest lepszy i dlatego szukałem takiego programu.

https://git-scm.com/downloads/guis całe stado

Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:3 minuty
  • Postów:6624
1
tdx110 napisał(a):

Zależy mi na tym ponieważ mój projekt ma sporo plików graficznych GitHub od razu ogranicza mi przez to że jest tylko 1GB transferu miesięcznie.

Ograniczenia transferu dotyczą tylko Git LFS (https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage).
Jeśli każdy pojedynczy plik mieści się w dopuszczalnym rozmiarze 100MB ( https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github ), to możesz bez większych problemów używać normalnego repozytorium, bez zawracania sobie głowy LFS. Mam na GitHubie kilka repozytoriów gier, które ważą po kilka GB. Rekordzista sprzed kilku lat to 6.2GB i ciągle jest na serwerze. Teraz maksymalny rozmiar repo to 5GB ( https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github#repository-size-limits ).

BTW. jeśli kupujesz assety graficzne/dźwiękowe i ładujesz całą paczkę do projektu, to projekt szybko spuchnie. Ja ładuję kupione assety do "pustego projektu" i stamtąd przenoszę wybrane do projektu, nad którym pracuję.


🕹️⌨️🖥️🖱️🎮
edytowany 2x, ostatnio: Spine
ML
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 16 godzin
  • Postów:854
0

Ale jakie zapamiętywanie komend, tobie potrzebne jest git commit i tyle. Zaczynanie obsługi GITa od jakiegoś GUI jest od d**y strony moim zdaniem. W 10 minut ogarniesz komendy w wierszu poleceń i przynajmniej będziesz wiedział do czego to służy i jak działa.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)