Разлика между Commit и Push

Ако сте един от милионите в общността за програмисти, най -вероятно вече сте чували за концепцията за контрол на версиите. Това е мощен инструмент или система, която ви помага да се грижите за работата си, като ви позволява бързо да се придвижвате във вашите файлове, документи и друга колекция от информация, свързана с вашия проект. И има многобройни инструменти за такива видове работа на пазара, както собственически, така и с отворен код. Git е една от най -популярните и широко използвани системи за контрол на версии в света днес и зашеметяващият брой проекти разчитат на Git за контрол на версиите. Git е безплатна и с отворен код разпределена система за контрол на версиите, предназначена да проследява промените в изходния код по време на разработката на софтуер.

Git проект е представен от структура от данни, наречена хранилище, където се съхранява цялата информация, свързана с проекта, включително пълната история на проекта от неговото създаване. Той проследява всички промени, направени във файловете с течение на времето, изграждайки времева линия, докато продължавате с проекта. Хранилището от своя страна се състои от набор от отделни снимки на съдържанието на проекта - колекция от файлове и хранилища - наречени коммити. Когато искате да споделите развитието на вашия проект със света, трябва да го натиснете нагоре до дистанционно, до което имате достъп за запис. Вашите локални клонове не се синхронизират автоматично с отдалечените хранилища - трябва изрично да натиснете клоните, които искате да споделите.

Какво е Commit?

Git разглежда данните си по -скоро като набор от моментни снимки, като мини файлова система или версии на проект, наречен коммити. Всеки път, когато ангажирате или запазвате състоянието на вашия проект по всяко време, Git основно прави моментна снимка на това как изглеждат вашите файлове в момента и съхранява препратка към тази моментна снимка. Обект за предаване съдържа метаданни за всяка промяна, направена в хранилището, включително автора, ангажиращия, датата на ангажиране и съобщението в дневника. Всяко коммитиране сочи към дървовиден обект, който улавя състоянието на хранилището в този момент, когато е извършен коммитът, всичко в една пълна снимка. Докато правите промени в кода по пътя, създавате няколко коммита - отделен коммит за всяка промяна, която правите. Git присвоява на всеки коммит уникален идентификатор, който проследява какви, кога и кои от промените сте направили.

Какво е Push?

Всеки разработчик има свое собствено лично хранилище, в което да проследява промените си. Вие правите промените си локално и когато сте готови да ги споделите с други разработчици, ги връщате обратно в хранилището, което всички споделяте. Commit записва промените, които сте направили само в локалното хранилище, но не и в отдалеченото хранилище. Вашите ангажименти не се синхронизират автоматично с отдалеченото хранилище - трябва изрично да натиснете ангажиментите, които искате да споделите. Когато използвате командата push, прилагате промените си към хранилището нагоре по веригата. Всеки проект с отворен код има свой собствен начин да приема промените. Някои проекти използват напълно разпределена система за контрол на версиите, при която само един човек може да натиска промени в основното хранилище, докато има модел на споделено хранилище, където всички разработчици могат да натискат към споделено хранилище.

Разлика между Commit и Push

Основи

- Натискането идва след извършване. Git записва записи и проследява промените в хранилището, като всяко предаване сочи към дървовиден обект, който улавя състоянието на хранилището в този момент, когато е извършен коммитът, всичко в една пълна снимка. Но Commit записва промените само в локалното хранилище, но не и в отдалеченото хранилище. Git push актуализира вашите ангажирани промени и ви позволява да ги изпращате до отдалеченото хранилище, където всички разработчици имат достъп до тях. Когато използвате командата push, тя просто актуализира вашите промени в хранилището нагоре по веригата.

Команда

- Git коммитите са локални, което означава, че се записват само на машината, на която действително възникват коммитите. Командата „git commit“ се използва, за да каже на Git да запише вашите промени в локалното хранилище и трябва да кажете на Git кои промени искате да включите в коммит, преди да използвате командата „git commit“. Можете да използвате командата „git push“, за да прехвърлите ангажиментите в локалното хранилище в отдалечено хранилище. Командата “push” актуализира нови локални ангажименти на отдалечен сървър. Натискът приема два аргумента: отдалеченото име (произход) и името на клона (главен).

Ангажиране срещу натиск: Сравнителна диаграма

Обобщение на Commit vs Push

Накратко, ангажирането е основната единица за промяна в Git. За разлика от други модели на централизиран контрол на версиите, Git разглежда данните си по -скоро като набор от моментни снимки, които се наричат ​​коммити. Те са като моментна снимка на цялото съдържание на хранилището, заедно с цялата информация, свързана с проекта и връзката на това състояние на хранилището с други записани състояния, тъй като съдържанието се развива с течение на времето. Обект за предаване съдържа метаданни за всяка промяна, направена в хранилището, включително автора, ангажиращия, датата на ангажиране и съобщението в дневника. Но коммитът запазва промените само в локалното хранилище, но не и в отдалеченото хранилище. Git push актуализира вашите ангажирани промени и ви позволява да ги изпращате до отдалеченото хранилище, където всички разработчици имат достъп до тях.

Вижте повече за: ,