Собственно ~/.gitconfig:
[user]
name = Sergey Lyubimov
email = lysevi@mail.com
[color]
ui = auto
status = auto
diff = auto
branch = auto
[alias]
st = status
ci = commit
co = checkout
pa = push --all
pt = push --tags
out=log origin/HEAD..master
dc=diff --color-words
undo=reset --hard HEAD
mergeff=merge --no-ff
[pack] threads=5
Подробнее о каждой секции:
В секции [user] указывается имя и e-mail пользователя (как это не странно).
В секции [color] включена подсветка для консоли. Сам я ничем кроме консоли и git-gui не пользуюсь, поскольку команды просты и удобны, а gui только путает.
Секция [alias] - самое интересное тут. Для каждой команды можно назначить псевдоним, что не только упрощает жизнь, но и позволяет автоматизировать некоторые рутинные операции.
Если вы измените одно слово в тексте, то из git-diff можно и не заметить изменений (особенно, если в тесте поменялось не слово, а буква в слове).
diff --git a/f.txt b/f.txt
index 5ac883a..83da015 100644
--- a/f.txt
+++ b/f.txt
@@ -1 +1 @@
-Мама мыла раму
+Мама била раму
Чтобы этого избежать, был введен алиас dc. Вот как выглядит вывод команды git dc в аналогичной ситуации:
diff --git a/f.txt b/f.txt
index 5ac883a..83da015 100644
--- a/f.txt
+++ b/f.txt
@@ -1 +1 @@
Мама мылабила раму
Немного понятней, не правда ли (если не считать странностей мамы) :)
Команда mergeff введена для того, чтобы при объединении веток, git показывал места слияний, а не объединял их линейно (git help merge), при таком слиянии мы никогда не потеряем точку в истории, где конкретно произошло слияние.
Команда out выводит список изменения, который не были отправлены в
В секции [pack] настройки для команды git-repack. По умолчанию она выполняет свои действия в один поток, что не слишком логично для современных 4-N ядерных процессоров.
А как с этим жить расскажу в другом посте ;)
Комментариев нет:
Отправить комментарий