Відповіді:
git add
додає ваші змінені файли до черги, яку потрібно зробити пізніше . Файли не вводяться
git commit
виконує додані файли та створює нову редакцію з журналом ... Якщо ви не додасте жодних файлів, git нічого не зробить. Ви можете комбінувати обидві дії зgit commit -a
git push
пересилає ваші зміни до віддаленого сховища.
Ця цифра з цього git шпаргалки дає гарне уявлення про робочий процес
git add
не на малюнку, тому що запропонований спосіб зробити комбінований git commit -a
, але ви можете подумки додати a git add
до блоку змін, щоб зрозуміти потік.
Нарешті, причина того, що push
є окремою командою, полягає в git
російській філософії. git
є розподіленою системою версій, а ваш локальний робочий каталог - ваше сховище! Усі внесені вами зміни миттєво відображаються та фіксуються. push
використовується лише для оновлення віддаленого репо-файлу (яким ви можете поділитися з іншими), коли ви закінчите з тим, над чим працюєте. Це акуратний спосіб роботи та збереження змін на місцевому рівні (без накладних витрат на мережу) та оновлювати їх лише тоді, коли ви цього хочете, а не під час кожного виконання. Це побічно призводить до більш легких комітетів / розгалужень тощо (чому б ні, правда? Що це коштує?), Що призводить до більшої кількості очок економії, не псуючи сховище.
git add
додає файли до індексу Git, який є місцем постановки для об'єктів, підготовлених до зйомки.git commit
передає файли в індексі до сховища, git commit -a
це ярлик, щоб спочатку додати всі модифіковані відстежені файли до індексу.git push
надсилає всі очікувані зміни до віддаленого сховища, до якого відображено ваше відділення (наприклад, у GitHub).Для того, щоб зрозуміти Git, вам потрібно буде вкласти більше зусиль, ніж просто оглянути документацію, але це, безумовно, варто. Просто не намагайтеся наближати команди Git безпосередньо до Subversion, оскільки у більшості з них немає прямого аналога.
Мене розгубило те, що насправді "додавати". Я просто прочитав дуже просвічуючий абзац із книги Git Pro, який я хотів би додати тут, бо він роз'яснює речі
«Виявляється, Git ставить файл точно так само, як і під час запуску команди git add. Якщо ви скористаєтеся зараз, версія benchmarks.rb, як це було під час останнього запуску команди git add, - це те, як вона ввійде в команду, а не версія файлу, як це виглядає у вашому робочому каталозі під час запуску git commit. Якщо ви змінюєте файл після запуску git add, вам потрібно запустити git add ще раз, щоб переглянути останню версію файлу: "
Уривок: Чакон, Скотт. "Pro Git." Спрингер, 2009-08-19T00: 00: 00 + 00: 00. iBooks. Цей матеріал може бути захищений авторським правом.
Додати каже git розпочати відстеження файлу.
Комісія здійснює ваші поточні зміни у вашому локальному сховищі
поштовх підштовхує локальну репо до верхнього течії.
Дуже приємний pdf про багато секретів GIT.
Додати те саме, що додаток svn (як це іноді використовується для позначення вирішеного файлу).
Комісія також є такою ж, як і svn, але вона здійснює зміни у вашому локальному сховищі.
add -in git використовується для того, щоб повідомити git, які файли ми хочемо зробити, він розміщує файли в області постановки
commit-in git використовується для збереження файлів на локальній машині, так що якщо ми внесемо якісь зміни або навіть видалимо файли, ми все одно зможемо відновити наші скоєні файли
push - якщо ми фіксуємо наші файли на локальній машині, вони все ще схильні до втрати, якщо наша локальна машина загубиться, пошкодиться тощо, щоб зберегти наші файли в безпеці або поділитися нашими файлами, як правило, ми хочемо, щоб наші файли були віддалені сховище типу Github. Для економії на віддалених сховищах ми використовуємо push
Приклад Постановка файлу з ім'ям index.html git Додати index.html
Здійснення файлу, який інсценізується git commit -m 'ім'я вашого комітету'
Відправлення файлу до майстра Github git push origin