Czy jest możliwe, żeby część plików była wersjonowana tylko w lokalnym repozytorium?

0

Czy GIT umożliwia scenariusz w którym wybrane przeze mnie pliki są wersjonowane, ale tylko po stronie lokalnego repozytorium i nie będą wysyłane do zdalnego repozytorium podczas pusha? Czyli w skrócie, dla niektórych plików mam historię zmian po stronie lokalnej, ale te pliki nie idą na serwer w czasie push.

7

Tak z automatu to nie, o ile mi wiadomo. Ale nic nie stoi przecież na przeszkodzie, żeby mieć swoją gałąź z historią zmian, i drugą gałąź, która powstaje z tej pierwszej przez squash i force push. Niezbyt to eleganckie, ale działa…

0

jeszcze można by mieć swoją gałąź, zrobić commita, a później zrobić git reset HEAD~1, żeby cofnąć commita zachowując zmiany w plikach, a następnie git checkout master i pododawać ręcznie pliki, które chcesz zacommitować do mastera.

3

Możesz zrobić submoduł i nie ustawiać mu remote'a.

Tylko to się ustawia na poziomie folderu i jego dzieci, a nie na losowo wybranych plikach.

kalimata napisał(a):

Czy GIT umożliwia scenariusz w którym wybrane przeze mnie pliki są wersjonowane, ale tylko po stronie lokalnego repozytorium i nie będą wysyłane do zdalnego repozytorium podczas pusha? Czyli w skrócie, dla niektórych plików mam historię zmian po stronie lokalnej, ale te pliki nie idą na serwer w czasie push.

Może być powiedział co chcesz osiągnąć, albo po co Ci to?

Napisałeś że pliki mają być wersjonowane lokalnie - jeśli się się wyraziłeś, i nie mają być wersjonowane tylko po prostu mają być lokalnie, a nie w remote to użyj .gitignore.

0

Trochę kombinowane ale by powinno zadziałać

repoA =pliki na serwerze

repoB = pliki lokalne

  1. w repoB dodajesz submodule na repoA
  2. w repoB dodajesz skrypt który tworzy dowiązania: w repoA do plików znajdujących sie w repoB (powinien też oddać do gitignore jak nie ma pliku)
    mozna tez to ogarnac w cmake

Generalnie chodzi o to aby w repoA były tylko dowiązania do plików z repoB

1

Jakoś się pewnie da, ale nie po to zrobiono Git'a. Bardzo prawdopodobne, że próbujesz ogarnąć coś, co powinno być rozwiązane inaczej. Podzielisz się konkretnym przypadkiem użycia, dlaczego te pliki nie powinny iść do remote?

0

mam pliki/projekty dołączone do projektu głównego i chciałbym zeby one nie leciały na repo zdalne

A nie możesz mieć drugiego repozytorium na te pliki? To co proponujesz jest dość ryzykowne, bo istnieje duża szansa, że jeżeli powstaną zależności, to wypchniesz kod, którego nie da się skompilować.

0
piotrpo napisał(a):

mam pliki/projekty dołączone do projektu głównego i chciałbym zeby one nie leciały na repo zdalne

A nie możesz mieć drugiego repozytorium na te pliki? To co proponujesz jest dość ryzykowne, bo istnieje duża szansa, że jeżeli powstaną zależności, to wypchniesz kod, którego nie da się skompilować.

Mogę :) Chciałem się tu dowiedzieć czy zrobienie tak jak sobie to wyobrażałem ma sens

1
kalimata napisał(a):
piotrpo napisał(a):

mam pliki/projekty dołączone do projektu głównego i chciałbym zeby one nie leciały na repo zdalne

A nie możesz mieć drugiego repozytorium na te pliki? To co proponujesz jest dość ryzykowne, bo istnieje duża szansa, że jeżeli powstaną zależności, to wypchniesz kod, którego nie da się skompilować.

Mogę :) Chciałem się tu dowiedzieć czy zrobienie tak jak sobie to wyobrażałem ma sens

Napisz po prostu co chcesz zrobić, i po co Ci to?

Bo jak mówisz "randomowe wersjonowanie jednych plików w remote, i wersjonowanie innych na lokalu" brzmi bardzo dziwnie.
Twoj drugi tekst, że nie chciałbyś mieć jednych plikow na remocie, jest trochę bardziej przejrzysty, ale nadal nie wiemy czemu nie chcesz ich wrzucać?

  • Są sekretne?
  • Nie chcesz ich w buildzie?
  • Są zależne od lokala
    Po co?

Dopóki nie opiszesz jaki efekt konkretnie chcesz osiągnąć, to nie dostaniesz żadnej sensownej odpowiedzi.

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