Как синхронизировать git и github
Перейти к содержимому

Как синхронизировать git и github

  • автор:

Использование git получения, извлечения, отправки и синхронизации для управления версиями в Visual Studio

Visual Studio помогает синхронизировать локальную ветвь с удаленной ветвью с помощью операций скачивания (получения и извлечения) и передачи (отправки).

Вы можете получить, извлечь и синхронизировать данные в Visual Studio 2022 с помощью меню Git .

The Git menu with the Fetch option highlighted in Visual Studio 2022.

На предыдущем снимке экрана выделен параметр получения . Меню Git также включает следующие дополнительные параметры:

Для выполнения этих операций можно также использовать элементы управления кнопкой в окне изменений Git.

The Git Changes window with the Fetch, Pull, Push, and Sync button controls highlighted in Visual Studio 2022.

Слева направо элементы управления кнопкой включают получение, вытягивание, отправку и синхронизацию.

Кроме того, есть также элемент управления многоточием (. ) для дополнительных операций. При выборе ее появится контекстное меню. Его можно использовать для точной настройки операций получения, извлечения, отправки и синхронизации.

The context menu that appears after you select the ellipsis button control in the Git Changes window in Visual Studio 2022.

Получить

Важно получить и вытянуть перед отправкой. Получение проверяет, есть ли удаленные фиксации, которые следует включить в локальные изменения. Если они есть, извлеките их, чтобы предотвратить конфликты слияния с вышестоящей ветвью.

При принесении ветви в окне Изменения GIT под раскрывающемся списком ветвей отображается индикатор, который показывает количество фиксаций, которые не были вытянуты из удаленной ветви. Он также показывает число локальных фиксаций, которые не были отправлены.

Индикатор также является ссылкой, по которой можно перейти к журналу фиксаций этой ветви в окне Репозиторий GIT. В начале журнала теперь отображаются сведения об этих входящих и исходящих фиксациях. Здесь можно также вытянуть или отправить фиксации.

Извлечь

Всегда вытягивать перед отправкой. При первом извлечении можно предотвратить вышестоящий конфликт слияния.

Явно (толкать)

При создании фиксаций вы изначально сохранили локальные моментальные снимки кода. Используйте push-отправку фиксаций в GitHub, где их можно сохранить в качестве резервных копий или предоставить другим пользователям общий доступ к коду.

Но, как ранее упоминание, всегда вытягивать перед тем, как вы толкаете. В качестве безопасной защиты Visual Studio не позволяет отправлять фиксации, если локальная ветвь находится за удаленной ветвью. При попытке отправки открывается диалоговое окно с запросом на извлечение.

Sync

Используйте эту операцию для извлечения, а затем последовательной отправки.

Связанный контент

  • Просмотр репозиториев Git
  • Руководство. Открытие проекта из репозитория

Как синхронизировать git и github?

1. Зарегестрировался на github
2. Создал репозитарии на github
3. Установил git на Ubuntu.

Поскажите как подключится к github что бы работать с созданным там репозитарием.

  • Вопрос задан более трёх лет назад
  • 11451 просмотр

Комментировать
Решения вопроса 1

gbg

Любые ответы на любые вопросы

Коротко. Репозиторий живет на вашей машине. Вы привязывете его к github

git remote add origin git://github.com/paulboone/ticgit.git

Синхронизация Gitlab-а и Github-а

Как синхронизировать содержимое репозиториев локального Gitlaba с Githubом? Например, чтобы при добавлении коммита в Gitlab то же самое появилось в Github.

Отслеживать

68.1k 222 222 золотых знака 79 79 серебряных знаков 222 222 бронзовых знака

задан 11 дек 2014 в 15:39

51 6 6 бронзовых знаков

Никто не мешает Вам добавить себе два origin’а и коммтить в тот репозиторий, в который хочется. И в два одновременно.

11 дек 2014 в 15:45

Да хоть по cron-у вытягивать из гитлаба и пушить на гитхаб. Или on-commit hook.

11 дек 2014 в 15:47

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

  1. можно одной командой push отправлять изменения сразу в несколько репозиториев: Отправить изменения в несколько репозиториев одной командой push
  2. если сервер с gitlab вам подконтролен, то можно там в репозитории создать post-commit hook, который будет вызываться при поступлении коммитов в этот репозиторий. переработанный и дополненный пример:
    1. от имени пользователя, под которым выполняется gitlab, сгенерируйте пару приватный-публичный ключ:
    $ sudo -u пользователь ssh-keygen 
    $ sudo -u пользователь git remote add --mirror=push togithub url-репозитория-на-github-е 
    #!/bin/sh exec git push togithub -f --mirror 

    и установите ему биты исполнимости:

    $ sudo chmod +x hooks/post-commit 

    Git. Синхронизация локального репозитория с удаленным

    Для распостранения кода используем Git. Если необходима установка софта заказчику — делается git clone мастер ветки на его сервере. Если нужно обновить софт — git pull . Но с git pull обнаружилась одна особенность (понятно что обнаружилась для меня 🙂 ) — он тянет изменения если на сервере прокрутился коммит, а если мы в локальном репозитории прибьем парочку файлов но комиты на сервере и локально совпадают то он их не востановит. Есть ли возможность так сказать актуализировать репозиторий, тоесть проверить совпадает ли количество и содержание файлов локально и на сервере и в случае обнаружения недостачи восполнить ее?

    Отслеживать
    задан 20 мая 2016 в 13:06
    3,575 4 4 золотых знака 22 22 серебряных знака 38 38 бронзовых знаков

    2 ответа 2

    Сортировка: Сброс на вариант по умолчанию

    Если вы удаляете файл из папки проекта, то он все равно останется в локальном репозитории.

    Чтобы его восстановить, нужно сделать git checkout — filename

    Отслеживать
    ответ дан 20 мая 2016 в 13:09
    8,656 1 1 золотой знак 16 16 серебряных знаков 32 32 бронзовых знака

    спасибо за ответ но вы мне предлагаете скальпель и я его возьму себе на вооружение но следующий ответ более общий и в конкретнном случае подходит больше (те кто будут на сервере заказчика пытатся востановить пропавшие файлы вряд ли будут знать их имена )

    20 мая 2016 в 13:18

    @totorro git status покажет все незафиксированные изменения (в том числе удаленные файлы с именами), если нужно будет откатить какой-то отдельный файл.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *