Задать вопрос
  • Как сбросить состояние ветки develop к master непосредственно в репозитории (origin)?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Чтобы не заставлять коллег удалять свои ветки, добавил третий способ. Он идеологически более правильный при совместной работе.
    Написано
  • Как сбросить состояние ветки develop к master непосредственно в репозитории (origin)?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Оба ответа ниже правильные. Либо удалите ветку в вышестоящем репо и отправьте заново из локального. Либо отправьте принудительно с опцией --force — результат получите идентичный.

    Если с проектом работаете совместно с коллегами, то попросите у себя локально тоже поудалять их ветку develop и скачать вашу новую.
    Написано
  • Светить или не светить ip-адресом организации в Интернет?

    Вы действительно не ощущаете разницы в значении слов «свети́ться» и «све́тится»?
    Написано
  • Можно ли как-то откатить локальный репозиторий до локального коммита?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    И не забудьте проверить состояние до любых манипуляций тоже
    Написано
  • Можно ли как-то откатить локальный репозиторий до локального коммита?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Marcenary, у вас остались вопросы?

    Я не уверен что вы были в какой-то ветке когда делали тот коммит.
    Попробуйте создать новую ветку на нем
    git checkout -b mylabs e36d40a
    И затем покажите
    git status
    Написано
  • Можно ли как-то откатить локальный репозиторий до локального коммита?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Marcenary, checkout вы называете проверкой?

    Проверить в какой мы ветке можно командой status либо branch
    Команда checkout перемещает вас в другую ветку и не говорит откуда мы уходим.

    Я на всех ветках побывал, но файл не вернулся

    В любой непонятной ситуации смотрите статус. Там много полезного.

    Выше прикрепил скрин терминала.

    Где скрин?
    Написано
  • Можно ли как-то откатить локальный репозиторий до локального коммита?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Закинул папку в локальный репозиторий с кодом

    Вы закинули не в репозиторий, а лишь в рабочий каталог репозитория пока.

    сделал git add . , git commit -m

    Вот тут вы уже закинули в репозиторий.

    подумал что надо проверить на какой я ветке

    ... и не стали этого делать?

    ввел команду git checkout main и папка пропала

    Ничего страшного. Даже если не помните где были перед этим, гит это помнит.
    Легко вернуться в предыдущую ветку командой git switch -

    Можно как-то найти ветку, куда я закинул папку и/или восстановить файл?

    Да, всё что вы закоммитили, останется в репозитории практически навсегда.
    Гит ничего не удаляет, а лишь добавляет в хранилище.
    Как уже подсказал MVV, вы можете проследить все ваши действия в журнале показываемом командой git reflog. А там либо сразу увидите название ветки, в которой сделали коммит, либо просто скопируете хеш коммита и этого достаточно чтобы вытащить всё его содержимое в рабочий каталог.
    Написано
  • Что значит "Merge remote-tracking branch"?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    MVV, так корректнее. Но у вас так и нет ответа на вопрос «что значит это сообщение»
    Написано
  • Что значит "Merge remote-tracking branch"?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    MVV,
    Совершенно верно, ветка по факту это лишь переменная, в которой хранится ссылка на последний коммит в цепочке коммитов ветки.

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

    Когда мы тут говорим сделать pull, это просто описание действия — обновить текущую ветку с внешней ветки с которой она связана. И не важно, через терминал или кнопочками в GUI.

    Вы же описали в ответе немного другое действие —
    git pull branch — обновить текущую ветку коммитами из какой-то другой ветки branch
    Написано
  • Что значит "Merge remote-tracking branch"?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    MVV тут ключевое слово remote-tracking branch, т. е. это не какая-то другая ветка с которой происходит слияние. Это та же самая ветка, но её версия лежащая в общем репозитории. И тут надо уже смотреть, почему так произошло, потому что это ненормальная ситуация.
    Написано
  • Что значит "Merge remote-tracking branch"?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Esm322, определенно попрут, мне так кажется ))
    Написано
  • Как запушить 2 ветки с изменением одного и того еже файла?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Ситуация непонятная. Попробуйте сформулировать ещё раз.
    Что именно вы проделали?
    В чем видите проблему?
    Как решали это проблему и что получилось?
    Написано
  • Как исправить ошибку: не удалось перенести некоторые рефсы в ветку?

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

    Если нельзя удалять ветку, то всегда можно пересадить новую ветку на вершину origin через rebase
    Написано
  • Как исправить ошибку: не удалось перенести некоторые рефсы в ветку?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    MVV, не стоит усложнять. Я почти уверен что это личная ветка и никто больше туда не коммитит.
    А даже если ветка общая, то ничего не потеряется в любом случае. Всё можно будет откатить.
    Написано
  • Как исправить ошибку: не удалось перенести некоторые рефсы в ветку?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    А что значит удалить старую историю?

    — значит удалить старую ветку и положить на её место новую, которая у вас сейчас на компе.

    Где должен стоять HEAD, когда я буду выполнять git push origin vlad-account --force?

    Если использовать такую команду, то неважно что содержится в указателе HEAD.
    Вы же тут явно указали куда и что отправить. Ветку vlad-account отправить в origin

    Но я вас просил сделать другую команду.
    Вы же сказали что уже отправляли ветку. А во всех руководствах советуют при первой отправке сохранить связь между ветками добавив ключик -u. Чтобы в следующий раз просто делать git push и гит уже будет помнить куда отправлять ТЕКУЩУЮ ветку, т. е. ту, которая в данный момент сохранена в переменной HEAD.

    Нужно ли переходить на коммит git checkout c549f9e79?

    Зачем вы собрались оторвать голову? Если вы так сделаете, то вы выйдете из ветки в никуда. HEAD будет содержать просто хеш коммита. Надо понимать зачем так иногда делают и как из такого состояния опять вернуться в ветку.
    Написано
  • Почему файлы внутри volume docker-compose не появляются, при загрузке в реальную папку?

    Побочный эффект кэширования скорее всего.

    Попробуйте в /etc/nginx/nginx.conf
    http {
    ...
    sendfile off;
    ...
    }

    После изменения конфига не забудьте перезапустить сервер.

    Ещё попробуйте параметр :consistent для тома
    - "C:/projects/salkus/static:/var/www/salkus/static:consistent"

    Потому что по-умолчанию там :cached
    Написано
  • Как скачать все ветки если Git их не видит?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Дмитрий,

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

    Мы решаем именно ту проблему, которую озвучил автор вопроса. Проблемы с сетью или ограничением скорости он не упоминал.

    В статье, на которую вы ссылаетесь, говорится:
    This is particularly useful for creating backups or read-only mirrors of the repository for archival purposes.

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

    Mirror не требуется для скачивания всех веток. Все ветки уже скачиваются при обычном клонировании. Зеркальное клонирование (--mirror) дополнительно включает хуки и некоторые параметры конфигурации, но эти данные, как правило, не нужны для обычной работы с репозиторием.

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

    Надеюсь, вы понимаете, что ветка в Git — это лишь указатель на конкретное состояние (хэш коммита). Ничто не мешает скачать все эти указатели сразу. Например, можно использовать фильтр:
    git clone --filter=blob:none --no-checkout https://github.com/Username/Repo.git

    Этот подход позволяет скачать ссылки (ветки) и структуру репозитория без лишних данных, что делает его более подходящим для экономии трафика.
    Написано
  • Как скачать все ветки если Git их не видит?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Дмитрий,

    Рабочий каталог, это то место, куда извлекаются состояние проекта из репозитория.
    Сам рабочий каталог не является частью репозитория, это просто каталог с файлами.
    Файлы рабочего каталога не скачиваются по сети, а извлекаются из локальной копии репозитория.

    На гитхабе нет никакого рабочего каталога, так как там лежит именно голый репо (bare).

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

    Указав ключ mirror вы тем самым говорите гиту локально тоже не создавать рабочий каталог, что не имеет никакого смысла. Рабочий каталог создавался бы уже после того, как репо скачан.

    За советы поиграться с настройками сети спасибо. Я сам не проверял эти опции, так как никогда не было подобных проблем. Я лишь ответил на вопрос «Почему не видно веток если они не скачивались?»
    Написано
  • Как скачать все ветки если Git их не видит?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Дмитрий, я спросил, как отсутствие рабочего каталога решит проблемы с сетью?
    Написано