Jakie są różnice pomiędzy "git commit" i "git push"?

W tutorialu Gita, przez który przechodzę, git commit jest używany do przechowywania wprowadzonych zmian.

Do czego służy git push?

Author: Asaprab, 2010-04-30

15 answers

Zasadniczo git commit "zapisuje zmiany w repozytorium " podczas git push "aktualizuje zdalne refy wraz z powiązanymi obiektami ". Tak więc pierwszy z nich jest używany w połączeniu z lokalnym repozytorium, podczas gdy drugi jest używany do interakcji ze zdalnym repozytorium.

Oto ładne zdjęcie z Olivera Steele ' a , które wyjaśnia model Gita i komendy:

Polecenia Git Transport danych

Czytaj więcej o git push i git pull na GitReady.com (artykuł I refered to first)

 1401
Author: tanascius,
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
2017-06-01 12:51:02

Commit : Dodawanie zmian do lokalnego repozytorium

Push: aby przenieść ostatnie zmiany na zdalny serwer

 162
Author: TheHippo,
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
2015-04-23 17:58:05

Cóż, zasadniczo git commit umieszcza twoje zmiany w lokalnym repo, podczas gdy git push wysyła Twoje zmiany do zdalnej lokalizacji.

 49
Author: markovuksanovic,
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
2010-04-30 14:21:32

git push służy do dodawania commitów zrobionych w lokalnym repozytorium do zdalnego-razem z git pull, pozwala ludziom na współpracę.

 24
Author: Michael Borgwardt,
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
2013-03-18 05:41:04

Ponieważ git jest rozproszonym systemem kontroli wersji, różnica polega na tym, że commit zatwierdzi zmiany do lokalnego repozytorium, podczas gdy push wypchnie zmiany do zdalnego repo.

 23
Author: Justin Ethier,
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
2010-04-30 14:20:55

git commit Zapisz swoje zmiany w repozytorium local .

git push zaktualizuj zdalne repozytorium za pomocą lokalnych zmian.

 11
Author: Naresh,
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
2015-04-23 17:56:38

Commit : {Snapshot | Changeset | History record | Version / 'Save-as'} repozytorium. Repozytorium Git = series (tree) of commits (plus kilka dodatkowych rzeczy).

Local repository: repozytorium na twoim komputerze.

Remote repozytorium: repozytorium na serwerze (np Github ).

git commit: Dodaj nowy commit (Ostatni commit + modyfikacje) do repozytoriumlocal .

git push, git pull: Zsynchronizuj repozytorium lokalne z repozytorium zdalnym . push - apply changes from local into remote, pull - Zastosuj zmiany z remotena local.

 9
Author: xged,
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
2018-08-28 18:14:00

Chcę tylko dodać następujące punkty:

Yon nie może naciskać dopóki nie zatwierdzisz zmian, ponieważ używamy git push do wypychania zmian dokonanych w Twojej lokalnej gałęzi do zdalnego repozytorium.

Komenda git push przyjmuje dwa argumenty:

Nazwa zdalna, na przykład origin Nazwa gałęzi, na przykład master

Na przykład:

git push <REMOTENAME> <BRANCHNAME>

 4
Author: Faisal Shaikh,
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
2016-11-27 19:52:27

Trzy rzeczy do zapamiętania:

1)Working Directory ----- folder, w którym znajdują się nasze kody

2)repozytorium lokalne ------ to jest wewnątrz naszego systemu. Kiedy pierwszy raz robimy COMMIT polecenie wtedy to lokalne repozytorium jest tworzone. w tym samym miejscu, gdzie znajduje się nasz katalog roboczy,
Checkit ( .git) plik get created.
Po tym, gdy kiedykolwiek popełnimy, to będzie przechowywać zmiany jakie dokonujemy w pliku katalogu roboczego do repozytorium lokalne (.git)

3)zdalne repozytorium ----- znajduje się poza naszym systemem jak na serwerach znajduje się gdziekolwiek na świecie . jak github. Kiedy wykonujemy polecenie PUSH to kody z naszego lokalnego repozytorium get stored to this Remote Repozytorium

 3
Author: DEVINDER THAKUR,
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
2018-05-16 16:08:11

Bardzo prymitywna analogia: jeśli porównamy git commit do zapisania edytowanego pliku, to git push skopiujemy ten plik w inne miejsce.

Proszę nie wyjmować tej analogii z tego kontekstu-zatwierdzanie i popychanie to nic innego jak zapisywanie edytowanego pliku i kopiowanie go. To powiedziawszy, powinien trzymać się tylko dla porównania sake.

 2
Author: amn,
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
2018-04-26 19:11:56

W kategoriach laika, git commit jest krokiem przed git push uruchomieniem ich w tej kolejności, aby pomyślnie wysłać plik na github.

 0
Author: Zeal Murapa,
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
2017-06-17 21:38:22

Git commit to nic innego jak oficjalne zapisywanie zmian, dla każdego commita podajemy komunikat commit, kiedy już skończymy z commitami, możemy przesunąć je do zdalnego, aby zobaczyć naszą globalną zmianę

Co oznacza, że możemy wykonać wiele commitów przed naciśnięciem przycisku remote (możemy zobaczyć listę commitów i wiadomości) git zapisuje każdy commit z identyfikatorem commita, który jest 40-cyfrowym kodem

I używam git push tylko wtedy, gdy chciałem zobaczyć swoją zmianę w remote (tam po sprawdzeniu czy mój kod działał w jenkinsie)

 0
Author: Sai Koti,
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
2017-12-20 07:49:19

Łatwiej jest zrozumieć użycie poleceń git add i commit, jeśli wyobrażasz sobie, że plik dziennika jest utrzymywany w Twoim repozytorium na Githubie. Typowy dla mnie plik dziennika projektu może wyglądać następująco:

---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2

Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------

---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on

Zazwyczaj zaczynam dzień od git pull prośby, a kończę ją git push prośbą. Więc wszystko w zapisie dnia odpowiada temu, co dzieje się między nimi. Każdego dnia wykonuję jedno lub więcej zadań logicznych , które wymagają zmiany kilku plików. Na pliki edytowane podczas tego zadania są wymienione w indeksie.

Każde z tych podrzędnych zadań (Zadanie A i zadanie B tutaj) to indywidualne commity. Polecenie git add dodaje pliki do listy "indeks plików zmienionych". Proces ten nazywany jest również inscenizacją i w rzeczywistości zapisuje zmienione pliki i dokonane zmiany. Polecenie git commit rejestruje / finalizuje zmiany i odpowiadającą im listę indeksów wraz z niestandardowym komunikatem, który może zostać użyty do późniejszego odniesienia.

Pamiętaj, że wciąż jesteś Zmiana tylko lokalnej kopii repozytorium, a nie tej na Github. Po tym, tylko gdy wykonasz git push wszystkie zarejestrowane zmiany, wraz z plikami indeksu dla każdego commita, zostaną zalogowane w głównym repozytorium (na Github).

Jako przykład, aby uzyskać drugi wpis w tym wyimaginowanym pliku dziennika, wykonałbym:

git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push

W skrócie, git add i git commit pozwala podzielić zmianę w głównym repozytorium na systematyczne, logiczne Pod-zmiany. Jako inne odpowiedzi i komentarze zwróciły uwagę, są oczywiście o wiele więcej zastosowań. Jest to jednak jedno z najczęstszych zastosowań i zasada działania Git, która jest wieloetapowym systemem kontroli wersji, w przeciwieństwie do innych popularnych, takich jak Svn.

 0
Author: Cibin Joseph,
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
2018-01-15 16:43:51

git commit jest zatwierdzanie plików, które są wystawione w lokalnym repo. git push jest szybkie scalanie gałęzi master lokalnej strony ze zdalną gałęzią master. Ale połączenie nie zawsze się uda. Jeśli pojawi się odrzucenie, musisz pull, aby móc odnieść sukces git push.

 -3
Author: Marcus Thornton,
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
2014-08-12 08:56:26

Cóż, zasadniczo git commit umieszcza twoje zmiany w lokalnym repo, podczas gdy git push wysyła Twoje zmiany do zdalnej lokalizacji. Ponieważ git jest rozproszonym systemem kontroli wersji, różnica polega na tym, że commit zatwierdzi zmiany do lokalnego repozytorium, podczas gdy push wypchnie zmiany do zdalnego repo

Źródło Google

Http://gitref.org/basic / ten link będzie bardzo przydatny too

Https://git-scm.com/docs/git-commit

 -3
Author: oroyo segun,
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
2016-08-01 13:19:43