Dzisiaj chciałbym poruszyć temat przenoszenia repozytorium GIT z Bitbucket na Github. Czy jest taka możliwość? Oczywiście, nawet z przeniesieniem swoich wszystkich commitów z datami kiedy robiliśmy commit, a nawet merge ze wszystkimi branch i całą historią.
Jak to zrobić?
Z pomocą przybywa tutaj kilka komend, które możemy użyć, aby w naprawdę banalny sposób takie repozytorium przenieść. Już opisuję jak tego dokonać. Przy okazji opiszę swoje workflow dotyczące działania z projektami, które później chcę opublikować publicznie na github.
Przenoszenie repozytorium
Najpierw otwieramy katalog ze swoim projektem, najlepiej w terminalu lub wierszu poleceń jeśli posiadamy system Windows. Oczywiście służy do tego na przykład komenda:
cd ~/moje-repo
Następnie wpisujemy komendę:
git remote rename origin backup
Dlaczego tak jak powyżej? Ponieważ zmieniamy nazwę z origin na backup i oczywiście to tylko przykład, równie dobrze możesz zmienić na inną swoją, nie usuwamy tego remote, tylko chwilowo zmieniamy. Następnie po utworzeniu repozytorium na github wpisujemy w naszym katalogu komendę:
git remote add origin [tutaj odnośnik do nowego repozytorium]
I gotowe. Teraz wystarczy wpisać:
git push origin master
I mamy nasze wszystkie commity wgrane na inne repozytorium. Łącznie z datami kiedy to robiliśmy, nawet wszystkie branche dostępne również są wgrywane na nowe repozytorium.
Podsumowanie
Moje workflow sprawdza mi się bardzo dobrze, ponieważ jeśli piszę jakiś projekt, to robię to najpierw na prywatnym repozytorium na bitbucket, tam sobie spokojnie pracuję, a gdy już projekt wypuszczam i chce go mieć na swoim github, po to aby móc się nim kiedyś pochwalić, no to wtedy go przenoszę powyższymi komendami, które podałem. Uważam to za dobrą praktykę, ponieważ nie mamy od razu śmietnika w swoim repozytorium, które mogą oglądać rekruterzy. Jeśli chcesz zobaczyć mój przykładowy projekt, który przeniosłem z bitbucket na github. Zapraszam Cię zatem do kliknięcia w ten link
https://blog.dgdev.pl/moje-projekty/portfolio-system-w-cake-php-3-8/
Dobre praktyki
Oczywiście bardzo dobrą praktyką jest, aby nie udostępniać śmieci, które nie działają na publiczne repozytorium. Nie piszemy commitów typu „fix typo”. Piszemy raczej pełne zdania, commitujemy pojedyncze działające funkcjonalności. Ważne jest również, aby dodawać plik README.MD do repozytorium i opisać tak zwane getting strated z danym projektem. Wiem, że ciężko się do tego stosować, jednak aby dobrze pracowało z projektem, dobrze jest stosować się do dobrych praktyk.