Git - historia tylko danego poddrzewa po zmergowaniu

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?

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.

1

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

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

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