git config pull.rebase false # merge
git pull --rebase
rm -rf ".git"
git add .
а индексировать только нужные файлы. # Клонировать репозиторий с фильтром, чтобы не загружать все файлы сразу
git clone --filter=blob:none --sparse https://example.com/repo.git
cd repo
# Инициализировать выборочную загрузку
git sparse-checkout init --no-cone
.git/info/sparse-checkout
:# включить все файлы
/*
# кроме одной папки
!/node_modules/
# Докачать всё, кроме папки node_modules
git sparse-checkout reapply
node_modules
. Вы сможете работать с репозиторием, не загружая лишние данные. Если потребуется вернуть node_modules
, достаточно удалить соответствующее правило из файла sparse-checkout
и снова выполнить git sparse-checkout reapply
по мнению status никаких неотслеживаемых файлов нет, а по мнению pull есть неотслеживаемые файлы которые будут перезаписаны. Как так?
А вот кстати и коммит который пытаюсь спулить:
[htdocs]$ git status
Что может быть не так?
git add --all .
git commit -am "..."
git remote set-url origin git@gitlab.com:malashko/bla-bla-bla.git
git reset --hard
git restore --source=хеш_коммита --staged --worktree .
--source=хеш_коммита
, вы говорите Git использовать содержимое файлов из этого коммита.--staged
значит, что изменения будут сразу проиндексированы, как если бы вы их добавили с помощью git add
. Этот флаг особенно полезен, если вы хотите сбросить изменения, которые уже были добавлены в индекс, но ещё не закоммичены.--worktree
указывает Git восстановить файлы в рабочем каталоге до состояния указанного коммита. Это означает, что любые незакоммиченные изменения в рабочих файлах будут сброшены, и файлы будут восстановлены до состояния, соответствующего указанному коммиту.rm -r "~/.git"
~
)--mixed
— откатывает коммиты и индекс: оставляет изменения в рабочем каталоге, но очищает индекс. Это режим по умолчанию команды reset
без опций.--soft
, когда делается всё то же, что и выше, но индекс не трогается.revert
и он не годится для причесывания истории. Использвую GitHub DesktopЗачем вы его используете? Чего именно вам не хватает в Git-клиенте встроенном в Visual Studio?
git rm --cached "путь/к/файлу"
git commit
git checkout HEAD~1 -- "путь/к/файлу"
он просит ввести описание
ввожу несколько символов
и так зависает
Если переоткрыть командную строку и запустить опять он говорит что есть swap файл
говорит удалить его
# удалите папку .git, которая внутри каталога bitrix
rm -rf "bitrix/.git"
# скажите гиту, чтобы он забыл, что перед этим видел там вложенный репозиторий
git rm --cached "bitrix/"
Git удалил коммит
Как нормально переключаться, чтобы гит не удалял ничего?
вообще 1 лог остался изначальный
если созданы новые файлы или переименованы, и ты возвращаешься, то он их не удаляет