Показаны сообщения с ярлыком Git. Показать все сообщения
Показаны сообщения с ярлыком Git. Показать все сообщения

Git: как объединить все коммиты в один

Чтобы объединить все предыдущие коммиты в один (например, чтобы удалить всю историю), можно воспользоваться командой:
git rebase --root -i
После этого список всех коммитов откроется в текстовом редакторе, и напротив каждого из них, кроме первого, нужно будет заменить слово "pick" на "squash". Тогда все предыдущие коммиты будут включены в тот, который находится на первом месте в списке. Затем его можно отредактировать:
git commit --amend --author "Name <e-mail>" --date="$(date -R)" 
Но можно сделать это быстрее с помощью команды:
git reset $(git commit-tree HEAD^{tree} -m "commit message")
которая создаст новый коммит на основе всего существующего дерева.
В обоих случаях при публикации изменений необходимо добавлять опцию "-f":
git push -f

Ubuntu 14.04: сохранять пароли от Git в gnome-keyring

Начиная с версии 1.8 в Git есть поддержка gnome-keyring, однако надо самостоятельно скомпилировать бинарники. Для Ubuntu это выглядит таким образом:
sudo apt-get install libgnome-keyring-dev
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
Когда в следующий раз логин и пароль будут введены, они будут сохранены в gnome-keyring.