Перейти к содержимому

Как делать изменения в клонированном репозитории

  • автор:

Делал изменения не сделав git clone — как теперь залить изменения?

Короче, пользуюсь гитом недавно. Сделал новый проект xamarin.forms и постоянно коммитил его, но когда я сильно намудрил в проекте, решил откатиться к предыдущей версии, но, походу, очень ущербным путём. Я скачал зип файл с гитхаба моего проекта, открыл и продолжил дальше писать проект, но когда настало время коммитить, то ничего не получается, просто не загорается кнопка коммита. Может это можно как-о исправить?

Отслеживать
28.6k 21 21 золотой знак 59 59 серебряных знаков 141 141 бронзовый знак
задан 26 дек 2018 в 20:21
197 1 1 серебряный знак 19 19 бронзовых знаков

Я скачал зип файл с гитхаба то есть ваш код не находится в каком либо репозитории, что и куда вы коммитить собрались?

26 дек 2018 в 20:26

Если вы работаете с гитхабом, то вам наверное нужно клонировать репозитории, а не скачивать зип архив

26 дек 2018 в 20:27

Чувак, там где ты накосячил — сделай откат до адекватной версии, а там где ты скачал и написал код, скопируй и вставь в откатном проекте.

26 дек 2018 в 20:29

Клонируй репозиторий в отдельную папку, потом поверх этого скопируй свои изменения из первоначальной папки и коммить

26 дек 2018 в 20:31

Во-первых, сделайте копию каталога, в котором вы что-то делали. В нём находится архив проекта + ваши изменения. Это вам поможет не потерять ничего. Во-вторых, клонируйте в какую-либо папку проект, затем залейте содержимое из вашей копии. После этого можно коммитить. Ну, если есть права на коммит в репозиторий.

26 дек 2018 в 20:31

1 ответ 1

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

Во-первых, сделайте копию каталога, в котором вы что-то делали. В нём находится архив проекта + ваши изменения. Это вам поможет не потерять ничего.

Вы должны понимать, что вы можете на одном компьютере иметь множество копий репозитория и каждый может иметь разные состояния. Мы хотим сохранить вашу исходную работу без изменения — чтобы ничего в ней не поломать: работать мы будем с другой копией, правильной.

Во-вторых, клонируйте в какую-либо папку проект. Вы допустили ошибку, скачав файл с архивом репозитория, сделайте в этот раз правильно: нужно использовать команду git clone.

Подробнее почитайте в руководствах по гит или посмотрите в эти два вопроса (раз, два) на so.

Для работы из Visual studio можете сделать следующее:

  1. Открыть Team Explorer (в меню View -> Team Explorer)
  2. Нажать на иконку домика
  3. Выбрать пункт Clone

введите сюда описание изображения

введите сюда описание изображения

Вам нужно научиться выполнять эту операцию, поэтому хорошенько потренируйтесь прежде чем переходить к следующему шагу!

Далее вы можете работать с вашим новым, правильным клоном репозитория. Ключевой вопрос здесь будет: есть ли у вас право делать коммиты в проект, который вы себе забрали на комп или нет.

Если доступ есть (это самый просто вариант), то вам нужно изменить файлы вашей копии и оформить их коммитом. Делаем по шагам:

  1. Берём исходный проект, который мы качали и заливаем прямо в папку правильно клонированного репозитория. Важно: проверьте, что в вашем проекте, где вы делали изменения нет скрытой папки .git ! В принципе, её там быть не должно, но лучше проверьте, потому что именно в этой папке находится вся информация о клонированном репозитории, которая нужна для работы утилит git.
  2. Даём команду git add -A
  3. Даём команду git commit -m «my commit description»

Либо делаем это через интерфейс visual studio, можно две команды сделать одним махом: открыли team explorer (меню view -> team explorer), ввели текст коммита и нажали кнопку commit all:

введите сюда описание изображения

Если же доступа нет, то вам нужно уточнить у владельца репозитория как правильно делать изменения. Обычно на github это выглядит следующим образом:

  • Вы делаете себе форк репозитория (был проект https://github.com/someone/project ваш логин mylogin вы делаете себе форк проекта https://github.com/mylogin/project и в нём вы являетесь владельцем)
  • В форке делаете отдельную ветку, в неё вливаете изменения
  • Подаёте pull request в исходный репозиторий который хозяин исходного репозитория примет (возможно, заставив вас сделать какие-либо уточнения/изменения)

Это вариант намного сложнее с непривычки, поэтому приготовьтесь к тому, что у вас не всё сразу может получиться верно или что будут возникать вопросы.

Клонирование существующего репозитория Git

Вы можете создать локальную копию удаленного репозитория Git, клонировав ее в локальную папку на компьютере. При клонировании удаленного репозитория скачиваются все фиксации во всех ветвях репозитория, если не используется —single-branch параметр клонирования. Клонирование связывает каждую ветвь в новом локальном репозитории с соответствующей ветвью в удаленном репозитории. Таким образом, при отправке, чтобы поделиться изменениями локальной ветви с вашей командой, соответствующая удаленная ветвь обновляется. Аналогичным образом при извлечении для обновления локальной ветви с изменениями, внесенными вашей командой, извлекаются обновления из соответствующей удаленной ветви. Удаленный репозиторий может быть Azure Repos репозиторием Git, репозиторием GitHub или другим размещенным репозиторием Git.

В этой статье приведены процедуры для выполнения следующих задач:

  • Получение URL-адреса клона для репозитория Azure Repos Git
  • Получение URL-адреса клона для репозитория GitHub
  • Клонирование репозитория Azure Repos Git
  • Клонирование репозитория GitHub
  • Клонирование любого репозитория Git
  • Открытие решения Visual Studio из клонированного репозитория

Общие сведения о рабочем процессе Git см. в руководстве по Azure Repos Git.

Необходимые условия для доступа к Azure Repos

  • Репозитории должны быть включены в параметрах проекта Azure DevOps. Если центр Repos и связанные страницы не отображаются, см. статью Включение или отключение службы Azure DevOps для повторного включения Репозиториев.
  • Для просмотра кода в частных проектах необходимо быть участником проекта Azure DevOps с уровнем доступа «Базовый» или выше. Для общедоступных проектов каждый может просмотреть код.
    • Если у вас нет проекта, создайте его или зарегистрируйтесь бесплатно.
    • Если вы не участник проекта, добавьте его.

    Примечание Для общедоступных проектов пользователи, которым предоставлен доступ заинтересованных лиц, имеют полный доступ к Azure Repos.

    • Репозитории должны быть включены в параметрах проекта Azure DevOps. Если центр Repos и связанные страницы не отображаются, см. статью Включение или отключение службы Azure DevOps для повторного включения Репозиториев.
    • Чтобы просмотреть код, необходимо быть участником проекта Azure DevOps с доступом уровня «Базовый» или выше. Если вы не участник проекта, добавьте его.
    • Для клонирования или участия в коде необходимо быть членом группы безопасности «Участники» или иметь соответствующие разрешения в проекте, который требуется изменить.
    • Для просмотра кода необходимо быть участником проекта Azure DevOps с доступом уровня «Базовый» или выше. Если вы не участник проекта, добавьте его.
    • Чтобы клонировать код или внести свой вклад в него, необходимо быть членом группы безопасности «Участники» или иметь соответствующие разрешения.

    Получение URL-адреса клона репозитория Azure Repos Git

    Как правило, необходимо знать URL-адрес клонирования удаленного репозитория, который требуется клонировать. URL-адрес клонирования однозначно идентифицирует удаленный репозиторий.

    Когда вы вошли в проект Azure DevOps, Visual Studio поддерживает поиск и клонирование репозиториев проектов без необходимости знать URL-адрес клонирования.

    1. В веб-браузере откройте командный проект для организации Azure DevOps, а затем выберите Файлы репозитория>, чтобы открыть представление Файлы. Снимок экрана: страница проекта Azure DevOps.
    2. В представлении Файлы выберите Клонировать , чтобы открыть всплывающее окно Клонировать репозиторий . Снимок экрана: кнопка
    3. Скопируйте URL-адрес клонирования из всплывающего окна Клонировать репозиторий . Снимок экрана: всплывающее окно

    При использовании Azure DevOps Services URL-адрес проекта имеет dev.azure.com// формат . Однако предыдущий формат, ссылающийся на этот формат, по-прежнему visualstudio.com поддерживается. Дополнительные сведения см. в статье Знакомство с Azure DevOps. Переключение существующих организаций на использование нового URL-адреса доменного имени.

    Получение URL-адреса клона репозитория GitHub

    Как правило, необходимо знать URL-адрес клонирования удаленного репозитория, который требуется клонировать. URL-адрес клонирования однозначно идентифицирует удаленный репозиторий.

    Когда вы вошли в GitHub, Visual Studio поддерживает поиск и клонирование репозиториев GitHub без необходимости знать URL-адрес клонирования.

    1. Откройте браузер и перейдите к своей учетной записи GitHub , перейдите на вкладку Репозитории и выберите репозиторий для клонирования. Снимок экрана: страница репозитория на сайте GitHub.
    2. На странице репозитория GitHub выберите Код , чтобы открыть всплывающее окно Клонировать . Скопируйте URL-адрес клона из всплывающего окна Клонировать . Снимок экрана: всплывающее окно

    Клонирование репозитория Azure Repos Git

    Выполнив вход в качестве участника проекта Azure DevOps, вы можете клонировать частные репозитории, доступные вам, и общедоступные репозитории. Visual Studio поддерживает операции поиска, клонирования и синхронизации в репозиториях, доступных через проверку подлинности.

    Вы можете клонировать общедоступный репозиторий Azure Repos Git без входа в качестве участника родительского проекта Azure DevOps. Чтобы клонировать общедоступный репозиторий Git без входа, см. статью Клонирование любого репозитория Git и подключение к проекту в Azure DevOps.

    • Visual Studio 2022
    • Visual Studio 2019 — меню Git
    • Visual Studio 2019 — командная Обозреватель
    • Командная строка Git

    Visual Studio 2022 предоставляет возможности управления версиями Git с помощью меню Git, изменений Git и контекстных меню в Обозреватель решений. Visual Studio 2019 версии 16.8 также предлагает пользовательский интерфейс Git для команды Обозреватель. Дополнительные сведения см. на вкладке Visual Studio 2019 — team Обозреватель.

    1. В меню Git в строке меню выберите Клонировать репозиторий , чтобы открыть окно Клонировать репозиторий . Снимок экрана: параметр
    2. В окне Клонирование репозитория выберите Azure DevOps в разделе Обзор репозитория , чтобы открыть окно Подключение к проекту . Снимок экрана: окно
    3. В окне Подключение к проекту войдите в Azure DevOps и выберите удаленный репозиторий, который нужно клонировать. Поле поиска можно использовать для фильтрации списка удаленных репозиториев. Если удаленный репозиторий не отображается, выберите Добавить Azure DevOps Server, чтобы добавить сервер, на котором размещен репозиторий. Проверьте путь к локальной папке, в которой нужно создать локальный клон, и выберите Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    Visual Studio 2019 предоставляет возможности управления версиями Git с помощью меню Git, изменений Git и контекстных меню в Обозреватель решений.

    1. В меню Git в строке меню выберите Клонировать репозиторий , чтобы открыть окно Клонировать репозиторий . Снимок экрана: параметр
    2. В окне Клонирование репозитория выберите Azure DevOps в разделе Обзор репозитория , чтобы открыть окно Подключение к проекту . Снимок экрана: окно
    3. В окне Подключение к проекту войдите в Azure DevOps и выберите удаленный репозиторий, который нужно клонировать. Поле поиска можно использовать для фильтрации списка удаленных репозиториев. Если удаленный репозиторий не отображается, выберите Добавить Azure DevOps Server, чтобы добавить сервер, на котором размещен репозиторий. Проверьте путь к локальной папке, в которой нужно создать локальный клон, и выберите Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    Visual Studio 2019 версии 16.8 и более поздних версий предоставляет возможности управления версиями Git при сохранении пользовательского интерфейса Team Обозреватель Git. Чтобы использовать командную Обозреватель, снимитефлажокСервис> Параметры >Предварительный просмотр функций>Новый пользовательский интерфейс Git в строке меню. Функции Git можно использовать из любого интерфейса взаимозаменяемо.

    1. В командной Обозреватель выберите Подключить, чтобы открыть страницу Подключение, а затем выберите Управление подключениями>Подключиться к проекту. Снимок экрана: ссылка
    2. В окне Подключение к проекту войдите в Azure DevOps и выберите удаленный репозиторий, который нужно клонировать. Поле поиска можно использовать для фильтрации списка удаленных репозиториев. Если удаленный репозиторий не отображается, выберите Добавить Azure DevOps Server, чтобы добавить сервер, на котором размещен репозиторий. Проверьте путь к локальной папке, в которой нужно создать локальный клон, и выберите Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    Сведения о клонировании репозитория Azure Repos Git из командной строки см. в статье Клонирование любого репозитория Git.

    Клонирование репозитория GitHub

    Войдя в GitHub или используя проверку подлинности SSH, вы можете клонировать частные репозитории, доступные вам, и общедоступные репозитории. Visual Studio поддерживает операции поиска, клонирования и синхронизации в репозиториях, доступных через проверку подлинности.

    Вы можете клонировать общедоступный репозиторий GitHub без входа в GitHub или проверки подлинности иным образом. Чтобы клонировать общедоступный репозиторий Git без входа, см. статью Клонирование любого репозитория Git.

    • Visual Studio 2022
    • Visual Studio 2019 — меню Git
    • Visual Studio 2019 — командная Обозреватель
    • Командная строка Git
    1. В меню Git в строке меню выберите Клонировать репозиторий , чтобы открыть окно Клонировать репозиторий . Снимок экрана: параметр
    2. В окне Клонирование репозитория выберите GitHub в разделе Обзор репозитория , чтобы открыть окно Открыть из GitHub . Снимок экрана: параметр GitHub в окне
    3. В окне Открыть из GitHub войдите в GitHub и выберите удаленный репозиторий, который нужно клонировать. Поле поиска можно использовать для фильтрации списка удаленных репозиториев. Проверьте путь к локальной папке, в которой нужно создать локальный клон, и нажмите кнопку Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    1. В меню Git в строке меню выберите Клонировать репозиторий , чтобы открыть окно Клонировать репозиторий . Снимок экрана: параметр
    2. В окне Клонирование репозитория выберите GitHub в разделе Обзор репозитория , чтобы открыть окно Открыть из GitHub . Снимок экрана: параметр GitHub в окне
    3. В окне Открыть из GitHub войдите в GitHub и выберите удаленный репозиторий, который нужно клонировать. Поле поиска можно использовать для фильтрации списка удаленных репозиториев. Проверьте путь к локальной папке, в которой нужно создать локальный клон, и нажмите кнопку Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    Сведения о клонировании репозитория GitHub с помощью team Обозреватель см. в статье Клонирование любого репозитория Git.

    Чтобы клонировать репозиторий GitHub из командной строки, см. статью Клонирование любого репозитория Git.

    Вы также можете клонировать репозиторий GitHub из командной строки с помощью GitHub CLI.

    Клонирование любого репозитория Git

    Вы можете клонировать любой доступный репозиторий Git, используя URL-адрес клонирования репозитория.

    • Visual Studio 2022
    • Visual Studio 2019 — меню Git
    • Visual Studio 2019 — командная Обозреватель
    • Командная строка Git
    1. В меню Git в строке меню выберите Клонировать репозиторий , чтобы открыть окно Клонировать репозиторий . Снимок экрана: параметр
    2. В окне Клонировать репозиторий введите URL-адрес клонирования удаленного репозитория Git, который требуется клонировать, проверьте путь к локальной папке, в которой нужно создать локальный клон, а затем выберите Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    1. В меню Git в строке меню выберите Клонировать репозиторий , чтобы открыть окно Клонировать репозиторий . Снимок экрана: параметр
    2. В окне Клонировать репозиторий введите URL-адрес клонирования удаленного репозитория Git, который требуется клонировать, проверьте путь к локальной папке, в которой нужно создать локальный клон, а затем выберите Клонировать. Снимок экрана: окно

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    1. В командной Обозреватель выберите Подключиться, чтобы открыть страницу Подключение, а затем выберите Клонировать в разделе Локальные репозитории Git. Снимок экрана: ссылка
    2. Введите URL-адрес клонирования удаленного репозитория Git, который вы хотите клонировать, проверьте путь к локальной папке, в которой вы хотите создать локальный клон, и нажмите кнопку Клонировать. Чтобы клонировать удаленный репозиторий Git и вложенные в него репозитории Git, оставьте флажок Рекурсивно клонировать подмодули . Снимок экрана: параметры клонирования в разделе

    После клонирования удаленного репозитория Git Visual Studio обнаружит локальный клон и добавит его в список локальных репозиториев в меню Git .

    Снимок экрана: параметр

    1. Если вы еще этого не сделали, скачайте и установите Git. Включите диспетчер учетных данных Git при появлении запроса во время установки или настройте проверку подлинности SSH.
    2. В командной строке выполните команду Git clone с URL-адресом клонирования удаленного репозитория. Эта команда создаст локальный репозиторий клонирования в текущей папке.
    git clone

    Команда Git clone также позволяет указать путь к папке после URL-адреса клонирования, чтобы создать репозиторий в определенном расположении. Например:

    git clone https://fiber-teams@dev.azure.com/fiber-teams/FiberTests/_git/FiberTests C:\Repos\FiberTests 

    Команда Git clone также позволяет клонировать только одну ветвь. Этот параметр полезен, если вам интересна только одна ветвь большого репозитория.

    git clone --branch --single-branch 

    При клонировании удаленный репозиторий Git назначает псевдоним origin в качестве сокращенного url-адреса клонированного удаленного репозитория. Этот псевдоним часто используется в командах Git.

    Открытие решения Visual Studio из клонированного репозитория

    • Visual Studio 2022
    • Visual Studio 2019 — меню Git
    • Visual Studio 2019 — командная Обозреватель
    • Командная строка Git
    1. Выберите Файл > Открыть > проект или решение в строке меню и выберите файл решения для открытия. Снимок экрана: параметр
    2. Выбранное решение Visual Studio теперь открыто в Обозреватель решений. Снимок экрана: открытое решение в Обозреватель решений в Visual Studio.
    1. Выберите Файл > Открыть > проект или решение в строке меню и выберите файл решения для открытия. Снимок экрана: параметр
    2. Выбранное решение Visual Studio теперь открыто в Обозреватель решений. Снимок экрана: открытое решение в Обозреватель решений в Visual Studio.
    1. Щелкните правой кнопкой мыши репозиторий в представлении Подключиться Обозреватель команды и выберите открыть. Снимок экрана: клонированные репозитории в разделе
    2. В представлении Главнаяteam Обозреватель дважды щелкните файл решения в разделе Решения. Снимок экрана: файл решения в разделе
    3. Выбранное решение Visual Studio теперь открыто в Обозреватель решений. Снимок экрана: открытое решение в Обозреватель решений в Visual Studio 2019.

    В командной строке выполните следующую команду, чтобы открыть решение Visual Studio из клонированного репозитория. Эта команда не является командой Git.

    start
    start C:\Repos\FiberTests\FiberTests.sln 

    34. Изменение оригинального репозитория

    01 Внесите изменения в оригинальный репозиторий work

    Выполните
    cd ../work 

    Сейчас мы находимся в репозитории work .

    Внесите следующие изменения в файл README :

    Файл: README
    This is the Hello World example from the Git tutorial. (changed in origin) 

    Теперь добавьте это изменение и сделайте коммит

    Выполните
    git add README git commit -m "Changed README in original repo" 

    02 Далее

    Теперь в оригинальном репозитории есть более поздние изменения, которых нет в клонированной версии. Далее мы подтянем и сольем эти изменения в клонированный репозиторий.

    Клонирование и коммиты репозиториев – Git

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

    Git ー популярная платформа для работы с версиями проекта. Это ー распределенная система контроля версий или VCS (Version Control System). Version Control в данном случае означает, что в любой момент можно вернуться к нужной версии документа. А под распределённостью имеется ввиду, что системой может одновременно пользоваться множество специалистов.

    Кстати, Git уже давно вышел за рамки применения только в IT-компаниях. Им пользуются и в других направлениях, где есть командная работа над техническими проектами.

    Области данных в Git

    Чтобы легче понять работу команд, кратко разберем области данных. В системе Git их три: рабочая директория, индекс, репозиторий.

    Рабочая директория содержит в себе файлы, с которыми работаете. Также это могут быть файлы, только что извлеченные из истории проекта. При переключении между ветками файлы в Working Directory можно удалять или изменять. По этому поводу переживать не нужно, так как история сохранена в Git-директории. А рабочая директория ー временное место для работы с файлами.

    Git-индекс ー промежуточная локация для изменения файлов на пути от рабочей директории к репозиторию. Здесь хранятся изменения между уже зафиксированными в репозитории данными и теми, что еще лежат в рабочей директории. После выполнения команды git commit информация из индекса переходит в репозиторий с соответствующими ссылками.

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

    Базовые команды: checkout git

    В работе с репозиторием под командой checkout git (git checkout) подразумевается переключение между версиями для трех видов объектов. К ним относятся файлы, коммиты и ветки. Кроме функции переключения между branches, это действие используется и для просмотра старых commits.
    Как происходит переключение веток? Процесс аналогичен шифтингу между старыми коммитами и документами, где каталог обновляется по выбранной ветке (или ревизии). При этом новые изменения остаются в истории, потому что операция checkout git ー это не только функция чтения.

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

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