Как преобразовать существующий непустой каталог в рабочий каталог Git и отправить файлы в удаленный репозиторий - PullRequest
595 голосов
/ 22 июля 2010
  1. У меня есть непустой каталог (например, / etc / что-то) с файлами, которые нельзя переименовывать, перемещать или удалять.

  2. Я хочу проверить этот каталог в git на месте.

  3. Я хочу иметь возможность отправить состояние этого репозитория в удаленный репозиторий (на другом компьютере) с помощью «git push» или чего-то подобного.

Это тривиально, используя Subversion (в настоящее время мы делаем это, используя Subversion), используя:

svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>

Что такое эквивалент git?

Могу ли я "git clone" в пустой каталог и просто переместить каталог .git, и все будет работать?

Ответы [ 7 ]

958 голосов
/ 22 июля 2010

Учитывая, что вы настроили git-демон на <url> и пустой репозиторий:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add origin <url>
git push -u origin master
42 голосов
/ 29 октября 2017

Вот как я.Я добавил объяснение, чтобы понять, что, черт возьми, происходит.

Инициализировать локальный репозиторий

  • сначала инициализировать Git с помощью

    git init

  • Добавить все файлы для контроля версий с помощью

    git add.

  • Создать коммит с сообщением на ваш выбор

    git commit -m 'AddingBaseCode'

Инициализация удаленного репозитория

  • Создайте проект на Github и скопируйте URL вашего проекта.как показано ниже:

    enter image description here

Связь удаленного репо с локальным репо

  • Теперь используйте скопированный URL-адрес, чтобы связать локальное репо с удаленным репозиторием GitHub.Когда вы клонируете репозиторий с помощью git clone, он автоматически создает удаленное соединение с именем origin , указывающее обратно на клонированный репозиторий.Команда remote используется для управления множеством отслеживаемых репозиториев.

    git remote add origin https://github.com/hiteshsahu/Hassium-Word.git

Синхронизация

  • Теперь нам нужно объединить локальный код с удаленным кодом.Этот шаг очень важен, в противном случае мы сможем отправить код на Github. Вы должны вызвать 'git pull' перед тем, как нажать ваш код.

    мастер происхождения git pull --allow-unrelated-history

    Зафиксируйте свой код

    • Наконец-то отправьте все изменения на Github

      git push -u origin master

23 голосов
/ 07 мая 2015

Вот мое решение:

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master
13 голосов
/ 21 апреля 2015

Если удаленный репозиторий не пуст (в этом случае вы используете IBM DevOps на hub.jazz.net), вам нужно использовать следующую последовательность:

cd <localDir>
git init
git add -A .
git pull <url> master
git commit -m "message"
git remote add origin <url>
git push

РЕДАКТИРОВАТЬ 30 января 17: Пожалуйста, смотрите комментарии ниже, убедитесь, что вы находитесь на правильном репо!

4 голосов
/ 05 апреля 2018

Когда хранилище github не пустое, например .gitignore и лицензия

Использование pull --allow-unrelated-historyories и push --force-with-lease

Использовать команды

git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/...
git pull origin master --allow-unrelated-histories
git push --force-with-lease
0 голосов
/ 22 мая 2019

Самый простой способ сделать это, который я считаю полезным, - ниже.

Возможно, это не официальный путь, но он работает хорошо.

Предположим, у вас есть проект с именем "XYZ" на вашем ПК. Теперь вы хотите сделать git-репо этого проекта на github и использовать его функциональные возможности.

Шаг 1 : перейти к «www.github.com»

Шаг 2 : создайте хранилище с файлом "README.md" (назовите его так, как вам нравится)

Шаг 3 : клонировать репозиторий на ваш ПК.

Шаг 4 : В клонированной папке вы получите две вещи: папку ".git" и файл "README.md". Скопируйте эти два в папку вашего проекта "XYZ".

Шаг 5 : Удалить клонированное хранилище.

Шаг 6 : добавить, зафиксировать и отправить все файлы и папки вашего проекта.

Теперь вы можете просто использовать свой проект "XYZ" в качестве git-репозитория.

0 голосов
/ 12 февраля 2019

У меня была похожая проблема. Я создал новый репозиторий, НЕ В ДИРЕКТОРИИ, КОТОРУЮ Я ХОТЕЛ СОЗДАТЬ, Затем я скопировал созданные файлы в каталог, который хотел создать в качестве хранилища. Затем откройте существующее хранилище, используя каталог, в который я только что скопировал файлы.

ПРИМЕЧАНИЕ: Я использовал рабочий стол github, чтобы создать и открыть выходящее хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...