- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee

В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Гитхаб - это лишний костыль. Так делают только те, кто не знает фичу с голыми репо. Здесь гит используется только для быстрой перекачки файлов, а не хранения версий.
Да нет же) Github это и есть голый репо. В твоем случае ты просто делаешь точку входа на своем серваке. Голый репо не предполагает редактирования файлов - это просто хранилище без версий, поэтому ты и не можешь там вносить изменения. Точнее можешь, но тебе придется развернуть такой же функционал, веб-интерфейс как на гитхабе.
Видимо это алиса и пытается обьяснить. Не заню что она знает, а вот Грок дал понятный ответ что это и как работает.
И в принципе это не очень верный путь. С таким подходом тебе гит не нужен. Напиши сприпт для scp b и пуш с его помощью.
А по правильному создаешь github actions и забываешь про проблемы с деплоем. А так грохнется твой сервер и потеряешь все там. гитхаб - точка резервирования. Она не должна быть на сервере.
А так грохнется твой сервер и потеряешь все там.
Так там и не важно. Главная копия - на локальном. Если грохнется локальный, есть на серваке. Отсутствие у того репо возможности откатывать коммиты, не важно в данном контексте. Гит используется только для быстрого слива файлов из разных подкаталогов. История вообще не важна.
Скрипт можно написать. Но тут задача - не делать лишних телодвижений.
У ЖПТ было спрошено: можно ли выполнить pull с bare-репозитория. Она должна была ответить нет. Но я не уверен на 100%, что нет. Я не спрашивал, как мне сделать pull и как организовывать обмен файлами туда-сюда. Сложных путей несколько. Суть вопроса была - есть ли простое решение. Простого нет. Если надо туда-сюда, то действительно через гитхаб, либо создание веток.
можно ли выполнить pull с bare-репозитория.
Грок ответил:
Да, с **bare-репозитория** можно выполнить `git pull`, но есть важные нюансы, связанные с его природой. Поскольку bare-репозиторий не содержит рабочей директории (working tree), операция `git pull` работает иначе, чем в обычном (non-bare) репозитории. Давайте разберёмся, как это происходит, и что нужно учитывать.
### Что такое `git pull`?
`git pull` — это команда, которая объединяет две операции:
1. **Fetch**: Загружает изменения (коммиты, ветки, теги) из удалённого репозитория в локальный.
2. **Merge/Rebase**: Интегрирует эти изменения в текущую ветку локального репозитория.
В обычном репозитории `git pull` обновляет как историю в `.git`, так и файлы в рабочей директории. В bare-репозитории, где рабочей директории нет, `git pull` затрагивает только историю (данные в `.git`).
### Можно ли выполнить `git pull` с bare-репозитория?
**Да**, `git pull` можно выполнить в bare-репозитории, но:
- Поскольку bare-репозиторий не имеет рабочей директории, команда обновляет только данные контроля версий (ветки, коммиты, теги) в папке `.git`.
- `git pull` в bare-репозитории фактически эквивалентен `git fetch`, так как нет рабочей директории для слияния изменений. Если текущая ветка указана (например, через `HEAD`), Git обновит её указатель, но без слияния файлов, так как их нет.
### Как это работает?
1. **Предпосылки**:
- Bare-репозиторий должен быть настроен для взаимодействия с другим удалённым репозиторием (например, другим bare- или non-bare-репозиторием).
- Убедитесь, что в bare-репозитории настроен удалённый репозиторий (remote) с помощью:
```bash
git remote add origin <URL_другого_репозитория>
```
2. **Выполнение `git pull`**:
- В bare-репозитории выполните:
```bash
git pull origin main
```
Это загрузит изменения из ветки `main` удалённого репозитория и обновит указатель соответствующей ветки в bare-репозитории.
- Если в bare-репозитории установлен `HEAD` (например, он указывает на `refs/heads/main`), `git pull` обновит эту ветку.
3. **Ограничения**:
- **Нет слияния файлов**: Поскольку bare-репозиторий не содержит рабочей директории, слияние (merge) или ребейз (rebase) происходит только на уровне указателей веток. Если есть конфликты, их нужно разрешать вручную в non-bare-репозитории.
- **HEAD должен быть настроен**: В bare-репозитории `HEAD` указывает на текущую ветку (например, `refs/heads/main`). Если ветка не отслеживается, `git pull` может потребовать указания конкретной ветки.
- **Ограниченная полезность**: В большинстве случаев `git fetch` предпочтительнее для bare-репозиториев, так как `git pull` пытается выполнить слияние, которое в отсутствие рабочей директории не всегда необходимо.
### Когда использовать `git pull` в bare-репозитории?
1. **Синхронизация между серверами**:
- Если у вас есть несколько bare-репозиториев (например, зеркала на разных серверах), вы можете использовать `git pull` для синхронизации одного bare-репозитория с другим.
- Пример: Зеркалирование репозитория GitHub на ваш собственный Git-сервер:
```bash
git clone --bare https://github.com/username/my-project.git
cd my-project.git
git pull origin main
```
2. **Автоматизация CI/CD**:
- В системах непрерывной интеграции (CI/CD) bare-репозиторий может использовать `git pull` для получения последних изменений из основного репозитория перед запуском сборки или деплоя.
3. **Резервное копирование**:
- Если bare-репозиторий используется как резервная копия, `git pull` помогает держать его в актуальном состоянии с основным репозиторием.
### Практический пример
Допустим, у вас есть bare-репозиторий на сервере, который синхронизируется с GitHub:
1. **Создаём bare-репозиторий**:
```bash
git clone --bare https://github.com/username/my-project.git
cd my-project.git
```
2. **Настраиваем удалённый репозиторий** (если нужно):
```bash
git remote set-url origin https://github.com/username/my-project.git
```
3. **Выполняем `git pull`**:
```bash
git pull origin main
```
Это загрузит все новые коммиты из ветки `main` с GitHub и обновит указатель `refs/heads/main` в bare-репозитории.
4. **Проверяем изменения**:
```bash
git log origin/main
```
Вы увидите обновлённую историю коммитов.
### Альтернатива: Использование `git fetch`
В большинстве случаев для bare-репозиториев предпочтительнее использовать `git fetch` вместо `git pull`, так как:
- `git fetch` только загружает изменения, не пытаясь выполнять слияние.
- Это безопаснее, так как не изменяет указатели веток автоматически.
- Пример:
```bash
git fetch origin
git update-ref refs/heads/main refs/remotes/origin/main
```
Это эквивалентно `git pull`, но даёт больше контроля.
### Ограничения и рекомендации
- **Конфликты**: Если в bare-репозитории есть расхождения с удалённым репозиторием, `git pull` может завершиться ошибкой из-за невозможности выполнить слияние без рабочей директории. В таких случаях лучше использовать `git fetch` и вручную обновлять указатели.
- **Настройка веток**: Убедитесь, что в bare-репозитории настроены отслеживаемые ветки (tracking branches) с помощью `git branch --set-upstream-to`.
- **GitHub**: На GitHub bare-репозитории управляются автоматически, и `git pull` обычно не нужен, так как разработчики работают через `git push` и pull request’ы.
### Заключение
Да, с bare-репозитория можно выполнить `git pull`, но это ограничено обновлением истории и указателей веток, так как рабочей директории нет. В большинстве случаев `git fetch` предпочтительнее для bare-репозиториев, чтобы избежать ненужных попыток слияния. Используйте `git pull` для синхронизации между серверами или в CI/CD, но с осторожностью. Если вам нужен конкретный пример настройки или сценарий использования, дайте знать, и я могу предоставить дополнительный код или поискать информацию через Live Search!
Нафига мне это полотно с банальными командами.
Если я сделал изменения в bare на серваке, pull на локальном не закачивает. fetch тоже.
Чтобы оно работало, надо делать на серваке обычный репо.
Если я буду пулить на локалку из обычного репо, то пушить на сервак напрямую уже нельзя.
Схема всегда будет сложнее.
Чтобы оно работало, надо делать на серваке обычный репо.
Если я буду пулить на локалку из обычного репо, то пушить на сервак напрямую уже нельзя.
Схема всегда будет сложнее.
И еще раз - так с гитом никто не работает, он на для этого.
И правильно заданый вопрос дает правильный ответ:
если я в баре-репо поменял напрямую что-то в коде приложения, без коммитов, могу ли я получить эти исменения локально?
В bare-репозитории нельзя напрямую изменить код приложения, так как он не содержит рабочей директории (working tree), где хранятся файлы проекта (например, app.py, index.html). Bare-репозиторий содержит только метаданные Git — папки и файлы, такие как objects/, refs/, HEAD, которые хранят историю коммитов, ветки и теги, но не сами файлы кода. Поэтому фраза «поменял напрямую что-то в коде приложения» в контексте bare-репозитория звучит некорректно, и, возможно, вы имели в виду что-то другое.
В bare-репозитории нельзя напрямую изменить код приложения
На сервере баре-репо находится в отдельном каталоге. А проект - в другом. Рабочая директория прописывается в хуках. Проект можно править. А вот коммиты сделать нельзя.
Так что это очевидно, что каталог с баре-репо править смысла не имеет.
Так что это очевидно, что каталог с баре-репо править смысла не имеет
Ну так именно это и отвечает нейросеть, не так ли?
код проекта к тебя лежит в репо, а проект смотрит в него и работает с ним, правильно? Ты меняешь код в репо и хочешь потом эти изменения видеть и локально?
Какая-то мелкая типовая проблемка, с которой можно спокойно справиться без всяких ии, просто покопавшись в поиске.
Нет. Ответ можно вывести либо сильно подумав без ИИ и хорошо зная Git, либо глубоко ковыряться в поиске. Вот чел решает подобную. Ему эксперт дает костыль: qna.habr.com/q/1349358 . По хорошему, если делаешь баре, то нефиг там править. Или не делай баре. Если уж что-то изменилось на сервере, то вытягивай руками (утилитой scp например и коммит делай на локальном).
Ну так именно это и отвечает нейросеть, не так ли?
Нейросеть тупа. Она не различает коммит и правку проекта. Проект править можно. Коммиты делать в баре-репо нельзя. Он только фиксирует их при пушах в него.
А теперь думаем без ИИ. Баре-репо не следит за файлами. Ему неоткуда знать, какой изменился, а какой нет. Поэтому ни пул, ни фетч работать не могут.
Тот факт, что каталог с файлами git не в том же где рабочий проект, тут особо не при делах.
пример даже нашего форума - тут масса продвигаторов, которые готовы накручивать сайты с помощью нечестных методов
1. Не устали сами с собой разговаривать? Нет никаких нечестных методов - есть рабочие и нерабочие.
2. Обучаться на выборке, в которую люди вложили массу времени, денег и сил, а потом нивелировать результаты их труда, отсечь от пользователей и за их счёт жировать - вот что нечестно.
3. Форум этот не Ваш. Вы тут чужой.