Różnica między git remote add a git clone
Do czego służy clone
polecenie? Czy jest jakiś odpowiednik w svn?
Jaka jest różnica między
git remote add test git://github.com/user/test.git
I
git clone git://github.com/user/test.git
Czy nazwa utworzonego repo ma znaczenie?
4 answers
git remote add
po prostu tworzy wpis w konfiguracji git, który określa nazwę dla konkretnego adresu URL. Aby tego użyć, musisz mieć istniejący Git repo.
git clone
tworzy nowe repozytorium git poprzez skopiowanie istniejącego repozytorium znajdującego się na podanym przez Ciebie URI.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-31 20:13:36
Są one funkcjonalnie podobne (spróbuj!):
# git clone REMOTEURL foo
I:
# mkdir foo # cd foo # git init # git remote add origin REMOTEURL # git pull origin master # cd ..
Teraz są drobne różnice, ale zasadniczo prawdopodobnie ich nie zauważysz. Jako ćwiczenie pozostawione czytelnikowi porównaj .git / config jest z każdego katalogu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-20 17:19:45
Polecenie clone
tworzy lokalną kopię określonego repo. remote add
dodaje zdalny repo, do którego można albo pchać, albo z którego można wyciągnąć.
Odpowiednikiem svn clone
jest checkout
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-31 20:12:41
git clone
:
Fizycznie pobierze pliki na Twój komputer. Zajmie to miejsce z komputera. Jeśli repo jest 200Mb, to pobierze to wszystko i umieści je w katalogu, który sklonowałeś.
git remote add
:
Nie zajmie miejsca! To raczej wskaźnik! Nie Zwiększa to zużycia dysku. Po prostu dostaje migawkę tego, jakie gałęzie są dostępne i ich historię git commit, jak sądzę. Nie zawiera rzeczywistych plików / folderów twojego projekt.
Jeśli zrobisz:
git remote add TechLeadRepo git://github.com/user/test.git
Więc nie dodałeś nic do swojego komputera. Po dodaniu go do zdalnych gałęzi możesz uzyskać listę wszystkich gałęzi na tym zdalnym, wykonując:
git fetch --all
Po pobraniu (lub ściągnięciu) pobierasz pliki, a następnie, jeśli chcesz przenieść gałąź feature22 twojego kolegi do lokalnego, po prostu wykonaj
git checkout -b myLocalFeature22 TechLeadRepo/feature22
Gdybyś sklonował jego repo, musiałbyś wejść do katalogu lokalnego repozytorium i po prostu checkout
do pożądanej gałęzi
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-15 08:57:25