Відмінності між "Коміт", "Здійснення" та "Натиснути", "Здійснити та синхронізувати"


149

Я використовую візуальну студію 2013, і мені доводиться стикатися з 3 варіантами, коли я здійснюю свій C # код. Мені потрібно пояснення відмінностей між кожним із варіантів щодо того, що відбувається з моїм місцевим репо в порівнянні з репо GitHub.

  • Варіант 1 говорить "Виконати"
  • У варіанті 2 йдеться про "Захист і натиск"
  • Варіант 3 говорить "Захист і синхронізація"

Я не зовсім розумію різницю між останніми двома варіантами. Коли я повинен використовувати команду "Захист і синхронізація" на відміну від "Команда" та "Натиснути"?

Відповіді:


216
  1. Комісія буде просто записувати ваші зміни, внесені на локальній машині. Він не позначатиме зміни у віддаленому сховищі.
  2. Коміти та Push виконають вищезазначене та перенесуть його до віддаленого сховища. Це означає, що будь-які внесені вами зміни також будуть збережені у віддаленому сховищі.
  3. Коміти та синхронізація робить три речі. По-перше, він здійснить. По-друге, він виконає тягнення (захоплює оновлену інформацію з віддаленого репо). Нарешті, це підштовхне.

Дивіться більше від Microsoft тут


Я дійсно не отримую "Зв’язати та синхронізувати" Спочатку він здійснить. По-друге, він виконає тяг Нарешті, він штовхне. Чому потрібно натискати тут, коли зміни коду вже здійснені у віддаленому сховищі (Немає змін для натискання).
Bhuwan Pandey

6
@BhuwanPandey Виконання "фіксації" не включає "push". Вони окремі. Лише "поштовх" оновить вашу комісію у віддаленому сховищі. Дивіться зображення в іншій відповіді, щоб побачити це. "Виконання" переходить від індексу до локального сховища, тоді як "push" завершується, переходячи з локального сховища у віддалене сховище
camiblanch

Чи може синхронізація викликати конфлікти, коли в програмі одночасно працюють кілька користувачів?
Муралі Дхар Даршан

Я використовую Visual Studio 2017, і команда Зв’язати та синхронізувати не повністю натискає ваші зміни. Я кажу, що через виконання синхронізації мої зміни відображаються на вкладці "Історія" у Visual Studio, але на сайті Github вони не відображаються. Мені довелося виконати команду Push після Commig і Sync, і тоді мої зміни з’явилися на сайті Github.
Фабіано

Я думаю, що плутанина виникає через роздуми Коміт передає файли у віддалений сховище. Насправді Комісія лише записує свої зміни до локального сховища. Без Push він ніколи не потрапляє на сервер.
Alan Baljeu

72

Щоб додати до відповіді camieblanch. Я знайшов цю корисну картину / допис від Танасія ( тут ). "Ось приємна картинка від Олівера Стіла, яка пояснює модель git та команди:" введіть тут опис зображення


1
Але де синхронізація на цій фотографії?
Alan Baljeu

2
На малюнку його не існує. Якщо ви посилаєтесь на відповідь "камібланха". Він зобов’язаний виконувати ваше місцеве репо, витягніть, щоб синхронізувати (об'єднати) віддалене репо з вашим локальним репо, а потім він підштовхує об'єднане місцеве репо до віддаленого репо.
А.шаріф

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.