PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
Git: remove untracked files
June 09, 2016
Preview files that will be deleted (dry-run)
git clean -fnReal forced cleanup
git clean -fHelp
git help cleanOriginal solution is here
Git: how to remove last commit from remote repository
December 26, 2015
git reset HEAD^ # remove commit locally git push origin +HEAD # force-push the new HEAD commitOriginal solution I've found here
Git: show affected files for commit
June 09, 2015
Бывает что нужно посмотреть какие файлы были изменены в выбранном коммите. Вариант решения может быть таким:
Сначала добавим алиас в конфиг, такого вида ~/.gitconfig
Сначала добавим алиас в конфиг, такого вида ~/.gitconfig
[alias] show-files = show --pretty="format:" --name-onlyДля просмотра измененных файлов в одном коммите теперь можно делать так:
git show-files e2db3f1Чтобы посмотреть все измененные файлы в нескольких коммитах теперь можно делать вот так:
git show-files e2db3f1 f93307c 96626aa 7104720 | sort | uniqЭто даст нам список всех файлов измененных в выбранных коммитах.
Git: Как исправить текст сообщения в предыдущем коммите
October 27, 2014
Допустим при коммите в сообщении была допущена грамматическая ошибка. Хочется этот текст коммита поправить. При этом коммит ещё в удаленный репозиторий не отправлен. Делается это так
git commit --amend -m 'new text message fixed'Это элементарно, но у меня похоже, развивается склероз или типа того. Надоело гуглить одно и то же, решил записать.
Git: Подмодули
August 13, 2013
У git есть интересная возможность включать в репозиторий проекта подмодули из других репозиториев. Например у нас есть некий проект, некая система состоящая из н-ного количества модулей. Какие-то модули могут быть опциональными и разрабатываться отдельными командами. Таким образом при очередной поставке продукта под конкретный проект можно подключать опциональные модули из других репозиториев и поддерживать их в актуальном состоянии.
Например есть три разделенных репозитория, каждый живет своей жизнью, поддерживается разными людьми
Добавление подмодуля выглядит примерно так
Например есть три разделенных репозитория, каждый живет своей жизнью, поддерживается разными людьми
- Ядровая часть (A)
- Модуль 1 (B1)
- Модуль 2 (B2)
Добавление подмодуля выглядит примерно так
# заходим в репозиторий проекта cd ~/my/repo/name # добавляем подмодуль и кладем его по относительному пути git submodule add git://github.com/chneukirchen/rack.git ./modules/rack git commit -am 'add submodule rack' git pushОперации для всех подмодулей могут выглядеть например вот так (см. git help submodule)
git submodule foreach git checkout master git submodule foreach git pullПри клонировании репозитория с такими подмодулями, подмодули нужно будет инициализировать и обновить
mkdir new_folder cd new_folder git clone git://github.com/some/repo-name.git . git submodule init git submodule updateСписок подмодулей можно посмотреть так
git submoduleЖивой пример использования подмодулей можно посмотреть вот здесь, надеюсь ссылка выживет.