Задать вопрос
  • Как иициализировать 2 репы в одном проекте?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Никак, не связывается


    Это некорректное утверждение.
    Повторю ещё раз — связывается оно в момент clone.

    У вас не получается отобразить сразу основной и вложенный репо во вкладке Source Control.
    А зачем вам это? У меня один раз получилось. Но воспроизвести теперь не могу ))

    Откройте в VSCode папку ~/Projects/b24.loc/ и увидите основной репо и его связью.
    Открыв папку ~/Projects/b24.loc/packages/server увидите репо который там.
    Через меню File — Open Folder...
    Написано
  • Как иициализировать 2 репы в одном проекте?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    И второе.

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

    Игнор действует только на те файлы и папки, которые ещё не закоммичены. Если папка уже в репо, то ничто не заставит гит её перестать отслеживать. И не важно что вы там в gitignore пропишете.
    Написано
  • Как иициализировать 2 репы в одном проекте?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Если не хотите игнорить папку server, то другой вариант — удалить ненужный пустой репо в папке
    rm -rf ~/Projects/b24.loc/packages/.git
    Написано
  • Как иициализировать 2 репы в одном проекте?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Давайте вы ещё раз повторите все действия в новой папке и скопируете суда всё что получилось в терминале, со всеми сообщениями гита.

    Из того что вы предоставили, получается такая структура:
    P:\Project>tree
    .
    └───project.loc
        ├───.git # репо созданное командой git clone https://github.com/B1.git .
        └───packages
            ├───.git # пустой репо из git init который вас просят теперь сделать Publish Branch
            └───project2
                └───.git # это из clone https://github.com/project2.git
    Написано
  • Как иициализировать 2 репы в одном проекте?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    в project.loc есть папка packages, которая стоит в .gitignore.

    если она в игноре, то откуда она там появилась?
    Написано
  • Как иициализировать 2 репы в одном проекте?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Есть вопросы по вашим действиям
    mkdir project.loc
    cd project.loc #эта команда не пропущена?
    git clone https://github.com/B1.git .


    cd packages/
    git init # Зачем?
    git clone https://github.com/B2.git # точка тут тоже была?

    Либо init либо clone. Одно из двух, не вместе.
    Что именно вы сделали?

    Лучше бы предоставили полный листинг всех ваших действий.
    Написано
  • Полноценная Убунта поверх WSL?

    ThunderCat,
    Проц амд райзен3 не поддерживает хиперХ

    А вы точно уверены в этом?
    Как включить виртуализацию AMD Ryzen
    Процессоры AMD Ryzen 3 (включая модели первого, второго и третьего поколений) поддерживают технологию виртуализации AMD-V (AMD Virtualization), которая совместима с Hyper-V.
    Написано
  • Почему 2 ветки Git не сливаются?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Karininnya,
    Вы тоже гитхаб называете гитом?
    Лучше называйте вещи своими именами.
    Git это программа для работы с Git-репозиториями.

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

    .DS Store вы увидели скорее всего на гитхабе, так как ранее закоммитили его у себя локально. Это скрытый файл, который создает Finder в macOS, там хранятся иконки файлов, чтобы быстрее работал интерфейс просмотра папок.

    Не используйте команду «добавить что попало»:
    git add .
    И не бедет такой проблемы
    Ну либо перед тем как создавать коммит, смотрите через git status что собираетесь закоммитить.
    Написано
  • Как копировать не все файлы из репозитория?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    AnenNua я нашел решение для вас ))
    Написано
  • Как перевести HEAD с репозитория SVN Git?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Вы написали какую-то бессмыслицу.

    HEAD в Git — это всегда указатель на текущую ветку или конкретный коммит. В случае использования git svn, после клонирования HEAD указывает на локальную ветку Git, а не на что-то в SVN.

    HEAD и SVN никак не связаны. Когда вы клонируете репозиторий с помощью git svn, вы работаете с локальным Git-репозиторием, который синхронизируется с SVN только по командам git svn fetch или git svn rebase.
    Написано
  • Как устранить ошибку: LFS...failed to push?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Удаление папки из рабочего каталога проекта не удалит её из истории репозитория.
    Ballantrae, если эта папка не нужна, то пересоздайте репозиторий.
    Удалите каталог .git и начните всё заново.
    Написано
  • Как устранить ошибку: LFS...failed to push?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Ballantrae, изучайте что такое Git LFS и инициализируйте у себя.
    Я в этом не силен, не пользовался ни разу.
    Надо сделать что-то вроде
    git lfs install
    Если Git LFS не установлен, вы получите сообщение об ошибке. Установите Git LFS, скачав его с официального сайта: https://git-lfs.github.com/

    Потом надо отметить какие файлы вы будете загружать в LFS
    git lfs track "*.psd"
    Написано
  • Как устранить ошибку: LFS...failed to push?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    LFS это Large File Storage. Git LFS используется для управления большими файлами в репозиториях Git.
    Может вы закоммитили какой-то мусор вместо кода программы?
    Если в вашем проекте есть очень большие файлы (больше 100 МБ), GitHub и GitLab по умолчанию не позволяют их загружать без использования Git LFS.

    Еще можно попробовать загрузить через HTTPS
    git remote set-url origin https://gitlab.com/username/repo.git

    Затем снова выполните git push.
    Написано
  • Как копировать не все файлы из репозитория?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Aetae, filter-branch заявлена устаревшей и опасной при работе с современной версией Git.
    Сейчас рулит filter-repo
    Написано
  • Как увидеть что происходит с MacBook?

    Почему не OpenCore Legacy Patcher?
    Написано
  • Можно ли клонировать репозиторий по хэшу коммита?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Кирилл Оленёв,


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

    Нет, команда git clone -b клонирует весь репозиторий со всеми ветками. Ключ --branch лишь заставляет потом распаковать в рабочий каталог не текущую ветку, а ту, которую вам хочется.

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

    Тоже не понятно, зачем тут на каждом шаге заново клонировать. Лучше один раз сделать clone, а затем просто переключаться между коммитами.

    Верный ответ - клонировать по хэшу нельзя - work as designed как говорится..

    Скорее одной командой нельзя.

    Извлечь из внешнего репозитория лишь один коммит можно и довольно легко
    git init
    git fetch --depth=1 <repository_url> <commit_hash>
    git checkout FETCH_HEAD
    Но зачем?
    Написано
  • Как откатить состояние папки в Git?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Balavnik,
    папка не вернулась в состояние точь-в-точь с коммитом

    Как вы это проверяли?

    Github desktop предлагает сохранить изменения(по идее их быть не должно)

    Что значит «сохранить изменения»?
    Закоммить? Если да, то почему вы считаете что изменений быть не должно?
    В рабочем каталоге наоборот появится разница между последним коммитом и тем, на который мы откатили файлы. И эти изменения вам надо сохранить, так как вы именно это и хотели в своём вопросе.
    Написано
  • Как откатить состояние папки в Git?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Универсальный вариант команды
    git restore --source=HEAD --staged --worktree .
    — отменит все незакоммиченные изменения вернув содержимое файлов из последнего коммита и очистив индекс.

    git restore --source=sha_коммита --staged --worktree .

    — то же самое, но файлы вернутся в состояние на момент указанного коммита.

    Затем эти файлы вам нужно будет не забыть закоммитить.
    Написано
  • Как откатить состояние папки в Git?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Можно использовать checkout
    git checkout sha_коммита -- .

     -- . означает все файлы. Без этой добавки тоже извлечет все файлы, но ещё и передвинет указатель HEAD на данный коммит, но вы этого хотите избежать.

    Либо использовать более логичную новую команду
    git restore --source=sha_коммита -- .
    Написано
  • Как игнорировать изменения файла?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    почему Git автоматически не игнорирует эти изменения, файл ведь в исключении находится
    Потому что игнор не предназначен для игнорирования изменений.
    Написано