Załóżmy, że masz już lokalnie, na swoim komputerze pliki projektu, które chcesz umieścić w nowym repozytorium na GitHub. W takim przypadku propnuję rozpocząć od utworzenia nowego repozytorium na GitHub, co jest proste, bo to klikanie myszką. Teraz jednak chcielibyśmy do tego repozytorium wysłać lokalne pliki. Można to zrobić tak:
1. Przejdź do katalogu, w którym masz swoje pliki:
cd my_project
2. Teraz zainicjuj tworzenie nowego repozytorium, które jednak powstanie lokalnie:
git init Initialized empty Git repository in C:/temp/test_repo/.git/
3. Teraz jeśli chcesz, to umieść w tym katalogu odpowiedni plik .gitignore. Potem możesz dodać do wysłania na repo wszystkich kwalifikujących się do tego plików z lokalnego katalogu:
git add .
4. Już na tym etapie można sprawdzić, że nowe repozytorium zostało utworzone i jesteś aktualnie w branch master:
git status On branch master No commits yet Changes to be committed: (use "git rm --cached ..." to unstage) new file: app.py
5. Jeśli jeszcze wcześniej nie zostało to zrobione, to należy zaktualizować co najmniej dwie zmienne: user.email i user.name:
git config user.email email@domain.pl git config user.name myusername
6. Wartości możesz wyświetlać używając parametru –get
git config --get user.email email@domain.pl git config --get user.name myusername
7. Teraz trzeba jakoś połączyć ze sobą to lokalnie utworzone repozytorium, z tym zdalnym repozytorium, które znajduje się na GitHub:
git remote add origin https://github.com/username/test_repo
8. Możemy przejść do utworzenia pierwszego „commita”:
git commit -m "initial" [master (root-commit) ff6795c] initial 1 file changed, 1 insertion(+) create mode 100644 app.py
9. Na tym etapie można już połączyć lokalny branch master ze zdalnym branchem master:
git push --set-upstream origin master Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 200 bytes | 200.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To https://github.com/username/test_repo * [new branch] master -> master branch 'master' set up to track 'origin/master'.
W ten oto sposób pliki z katalogu lokalnego zostały wysłane na repozytorium na GitHub!