git config pull.rebase false # mergegit 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 reapplynode_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 --hardgit 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 commitgit checkout HEAD~1 -- "путь/к/файлу" он просит ввести описание
ввожу несколько символов
и так зависает
Если переоткрыть командную строку и запустить опять он говорит что есть swap файл
говорит удалить его
# удалите папку .git, которая внутри каталога bitrix
rm -rf "bitrix/.git"
# скажите гиту, чтобы он забыл, что перед этим видел там вложенный репозиторий
git rm --cached "bitrix/" Git удалил коммит
Как нормально переключаться, чтобы гит не удалял ничего?
вообще 1 лог остался изначальный
если созданы новые файлы или переименованы, и ты возвращаешься, то он их не удаляет
git checkout master
git pull origin
git checkout branch-b
git merge mastergit pull origin mastergit add .
git push origingit merge --continue
git push # ну и отправить результат git checkout --orphan second
git pull second second # во второй репе ветка называется second
git switch master
git merge second --allow-unrelated-histories
# решаю конфликтыgit pull second second --allow-unrelated-historiesхочу указать у коммита 0f6a3f0 родительским коммитом d5c58d8
git fetch second # скачать все коммиты из второго репо
git switch second # перейти в ветку second
git rebase master # пересобрать ветку second с вершины ветки master
dropping 0f6a3f0 third, "two" -- patch contents already upstream
Successfully rebased and updated refs/heads/second.
git switch master # вернуться в master
git merge second --no-ff # влить second в mastergit log --oneline --graph
* 13dddb5 (HEAD -> master) Merge branch 'second'
|\
| * 515f80e (second) fourth, "three"
|/
* d5c58d8 second, "two"
* fcc376b first, "one"git log --oneline --graph
* 515f80e (HEAD -> master, second) fourth, "three"
* d5c58d8 second, "two"
* fcc376b first, "one"