Last active
February 14, 2024 09:28
-
-
Save georgiybykov/3a1d4c8b9eeb9cac87385b2ba9d040ba to your computer and use it in GitHub Desktop.
old mode 100644 => new mode 100755 issue / После смены ОС и git clone репозитория
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
После переустановки ОС или клонировании вашего репозитория на другую локальную машину, съемный жесткий диск и прочее | |
может возникнуть проблема, которая при команде `git status` показывает, что все (или не все) фалы были изменены | |
хотя вы ничего не изменяли, а только копировали репозиторий: | |
$ git diff | |
#=> old mode 100644 | |
new mode 100755 | |
Есть два способа решить эту проблему: | |
1) Сказать `git` игнорировать изменения `filemode` через один из трех способов: | |
- $ git config core.filemode false # для конкретного репозитория | |
- $ git config --global core.filemode false # глобально | |
- Добавить в `~/.gitconfig` : | |
[core] | |
filemode = false | |
- Можно проверить статус `filemode` командой: | |
$ git config --list --show-origin | grep filemode | |
2) (!вполне возможно, что этот способ подойдет для пэт-проектов и не более) | |
Можно добавить изменения локально -> сделать коммит -> запушить коммит на GitHub (все как обычно). | |
Далее нужно сделать отмену последнего коммита: | |
$ git reset --hard 61aed977bc89350d0e20f0c04a5917cf6826d0c0 | |
$ git push --force origin <branch> | |
Затем можно стереть послдение действи в локальном журнале ссылок `git reflog`: | |
$ git reflog delete HEAD@{number_of_HEAD} # например, подставив 0 и выполнив команду -> | |
-> удалит последнюю запись | |
Делаем `git pull origin <branch>` и в этот момент репозиторий в актуальном состоянии. |
@andryx77, не за что, рад что оказалось полезно 👍
Есть еще третий способ, просто git checkout .
сделать и на этом всё. Однако, это смотря какую именно проблему нужно решить.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
То, что нужно, спасибо :)