2014-12-11 5 views
2

Я просто хотел запустить git hook (post-merge), чтобы проверить, какие изменения произошли в недавнем нажатии.Почему после слияния git-крюка не работает?

это мой пост-скрипт слияния

#/usr/bin/env bash 

echo "======> following are changes made to local repo <======" 

git fetch && git log ..origin/master --pretty=format:"%s - %ar by %an (%h)" 

echo "=======> ****************** <========" 

Я дал необходимые права доступа к файлу команды chmod +x post-merge

git fetch && git log ..origin/master --pretty=format:"%s - %ar by %an (%h)" работает отлично, когда я запустил его вручную.

Но когда я делать git pull origin master он показывает только

echo "======> following are changes made to local repo <======" 
echo "=======> ****************** <========" 

git pull, потому что выполняет как git fetch и git merge я пытался с

#/usr/bin/env bash 

    echo "======> following are changes made to local repo <======" 

    git log ..origin/master --pretty=format:"%s - %ar by %an (%h)" 

    echo "=======> ****************** <========" 

Где я буду неправильно?

мерзавец версия 1.9.1

Благодаря

ответ

4

, что из-за post-merge выполняется послеgit pull, то есть, когда post-merge выполняется, вы ГОЛОВА же с origin/master, так что вы получили пустой вывод.

попробовать это:

#/usr/bin/env bash 

echo "======> following are changes made to local repo <======" 

git fetch && git log ORIG_HEAD..origin/master --pretty=format:"%s - %ar by %an (%h)" 

echo "=======> ****************** <========" 

ключ ORIG_HEAD, что последнее значение головы перед опасной операцией (включает в себя слияние)

для больше информации о ORIG_HEAD чтения HEAD and ORIG_HEAD in Git

+0

Я новичок к этой концепции вы можете объяснить это немного? – Aparichith

+0

', потому что post-merge выполняется после git pull, то есть когда выполняется пост-слияние' Я хотел проверить, что все изменилось после pull. это означает, что после слияния только мне нужно сделать это правильно? потому что git pull сделает как git fetch, так и git merge right? – Aparichith

+0

@ h.APP.y 'git pull будет делать как git fetch, так и git merge' -> yes. – leo108

Смежные вопросы