Git - historia tylko danego poddrzewa po zmergowaniu

Odpowiedz Nowy wątek
2016-03-06 21:57
0

cannot into git

Powiedzmy, że mam sobie prywatne repo na bitbuckecie A:

A/README.md
A/dir1
A/dir2
A/dir3
...

Uznałem sobie, że dir3 jest fajnym projektem, dlatego chcę go pokazać światu czyniąc go publicznym repozytorium i nazywając B, przy okazji zapamiętując historię zmian. Stworzyłem sobie nowe repo B i przystępuję do merga:

cd /path/to/B
git remote add -f dir3 git://adres/do/A:A.git
git merge -s ours --no-commit dir3/master

dodajemy tylko drzewo:
git read-tree dir3/master:dir3

commit po merge'u:
git commit -i . -m "merge from private repo"

wszystko pięknie, pliki są jakie miały być, tylko, że historia wyświetlana po daniu git log z odpowiednimi opcjami wyświetla CAŁĄ HISTORIĘ A, nie tylko A/dir3. Nie jest to oczekiwanym przeze mnie efektem.

W pracy pracuję na svnie, gita używam prywatnie, poznaję go przez problemy takie jak dzisiaj. Ktoś ma pomysł jak powinno to się robić poprawnie?

Pozostało 580 znaków

2016-03-07 00:25
0

Git traktuje zmiany całościowo, a nie w podziale na pliki i katalogi. Dlatego nie jest zaskoczeniem, że widać całą historię.

Może spróbuj stworzyć nową gałąź i zrób cherry-picking tylko tych commitów, które dotyczą interesującej ścieżki.

Pozostało 580 znaków

2016-03-07 02:17

git help subtree powinno pomóc rozwiązać twoje problemy.

Pozostało 580 znaków

2016-03-08 23:04
0

Dzięki.
Generalnie subtree pomogło, tak jak pisał @winerfresh.
Używałem tego tutoriala: http://git-memo.readthedocs.org/en/latest/subtree.html

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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