8xx8

Блог

Минус-мерж

| Comments

Большинство скорее всего знакомы с “магическим” аргументом - для комнады cd в консоли. Это переход в предыдущую выбранную дирректорию.

Работает так:

1
2
3
8xx8@mac ~/git-minus[master] $ cd /
8xx8@mac / $ cd -
8xx8@mac ~/git-minus[master] $

Некоторые знают о том, что git поддерживает похожее поведение при смене ветки:

1
2
3
4
5
6
7
8xx8@mac ~/git-minus[master] $ git co feature
Switched to branch 'feature'
8xx8@mac ~/git-minus[feature] $ git co -
Switched to branch 'master'
8xx8@mac ~/git-minus[master] $ git co -
Switched to branch 'feature'
8xx8@mac ~/git-minus[feature] $

Здесь я использовал алиас co для checkout. Вообще про алиасы у меня была отдельная статья.

В общем все понятно и логично. Но мало кто знает что аргумент - можно передавать как аргумент к merge. Давайте посмотрим что из этого выходит.

На этот варанант я натолкнулся совсем случайно. Мы используем git-flow и названия веток у нас, как результат, длинные. Сливать свои изменения в staging приходится достаточно часто, вот и я подумал, а как так сделать, что бы поменьше делать.

1
2
3
4
5
6
7
8
9
10
11
12
13
8xx8@mac git-minus[feature/coll_stuff] $ git commit -m "second"
[feature 8f65d91] second
 1 file changed, 0 insertions(+), 0 deletions(-)
  create mode 100644 2
8xx8@mac ~/git-minus[feature/coll_stuff] $ git co staging
Switched to branch 'staging'
8xx8@mac ~/git-minus[staging] $ g merge -
Updating a2c0a4d..8f65d91
Fast-forward
 2 | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 2
8xx8@mac ~/git-minus[staging] $

PROFIT!

Comments