2013-07-08 2 views
4

После нажатия git перечисляет файлы, измененные с момента последнего притяжения.Получить последнюю последнюю фиксацию до вытягивания

Вопрос в том, как получить этот список после того, как была выполнена дополнительная работа по локальному репо.

например.

$ git checkout feature/default2 
$ git pull 
Updating 5420c70..b8eec49 
Fast-forward 
application/configs/application.ini         | 1 + 
application/modules/product/forms/Search.php      | 3 ++ 
public/themes/default/bootstrap/buttons.less      | 25 ----------- 
public/themes/default/css/cmspanel.css        | 234 ++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- 
public/themes/default/css/products.css        | 57 ++++++++++++++++++++---- 
public/themes/default/css/style.css         | 270 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------- 
public/themes/default/gfx/icons/menu-drop-dark.png     | Bin 0 -> 160 bytes 
public/themes/default/gfx/icons/more.png       | Bin 0 -> 120 bytes 
public/themes/default/layouts/scripts/footer.phtml     | 26 ++++++++++- 
public/themes/default/layouts/scripts/gallery.phtml     | 2 + 
public/themes/default/layouts/scripts/home.phtml     | 2 + 
public/themes/default/layouts/scripts/layout.phtml     | 2 + 
public/themes/default/layouts/scripts/products.phtml    | 22 ++++----- 
public/themes/default/less/cmspanel.less       | 26 +++++++++++ 
public/themes/default/less/nav.less         | 4 +- 
public/themes/default/less/products.less       | 61 +++++++++++++++++++++---- 
public/themes/default/less/style.less        | 59 ++++++++++++++++++++++--- 
public/themes/default/less/widgets.less        | 37 +++++++++++++++- 
public/themes/default/modules/cms/scripts/widgets/random.phtml  | 6 +-- 
public/themes/default/modules/default/scripts/widgets/submenu.phtml | 2 +- 
public/themes/default/modules/product/scripts/index/view.phtml  | 44 +++++++++--------- 
public/themes/default/modules/product/scripts/widgets/search.phtml | 16 +++++++ 
22 files changed, 584 insertions(+), 315 deletions(-) 
create mode 100644 public/themes/default/gfx/icons/menu-drop-dark.png 
create mode 100644 public/themes/default/gfx/icons/more.png 

Состояние: 5420c70 Состояние:
Как определить, что 5420c70 sha?

Если я прав, ORIG_HEAD - это состояние перед последним нажатием (любое нажатие, а не тяга, которая вносила некоторые изменения).

Мне нужен какой-то волшебный псевдоним, например git checkout SOME_HEAD, чтобы сделать git checkout 5420c70 для меня.

Я пытаюсь установить псевдоним git review, который должен различать все файлы, измененные с момента последнего притяжения, который не был актуальным.

В базовом случае, что-то вроде это работает:

git pull 
# lists some chanes file 
git diff --name-status ORIG_HEAD.. 
# diffs them 

, но я искал что-то вроде этого:

git pull 
# lists some chanes file 
git pull 
# up-to-date, no changes 
git diff --name-status ORIG_HEAD.. 
# diffs the files since the last pull which was not up-to-date 
+0

эти изменения местных? или они были поставлены в любой момент? – exussum

+0

@ user1281385 нет, я хочу, чтобы изменения, внесенные в удаленное репо, были сделаны некоторыми другими разработчиками. – takeshin

+0

поэтому см. Строки, измененные до притяжения к текущей голове? – exussum

ответ

4

Я думаю, вы могли бы проверить reflog, т.е. [email protected]{1}, например, это diff --name-only [email protected]{1}.

В качестве другого варианта вы можете сделать git fetch, затем сделать git log -p [email protected]{upstream}, чтобы увидеть предстоящие изменения, а затем git merge FETCH_HEAD, чтобы внести изменения в свою рабочую копию.

0

Если я понимаю, что вы хотите, git pull разве команды вам нужно, вы должны смотреть на git fetch

, когда это выполнится вы можете сделать

git diff HEAD...origin отметить, что вам нужно 3 точки вместо обычных 2

Это даст один разброс всех изменений. Когда счастлив, что вы можете объединить их обычным способом с git merge или с помощью git cherry-pick выбрать только некоторые из них

+0

Да, с извлечения это легко, но я обычно тяну, тогда мне иногда нужен diff. – takeshin

3

Посмотрев в reflog, я обнаружил, что это то, что я искал:

git reflog --oneline | grep -m 1 "pull " | cut -d' ' -f1) 

Это будет возвращать только один ша предыдущий преуспевающим тяги, который может быть использован в show, log, diff и т.д.

0
git log -n 1 --pretty=format:%H 
+4

Пожалуйста, отредактируйте с дополнительной информацией. Только код и «попробуйте» ответы не приветствуются, поскольку они не содержат содержимого, доступного для поиска, и не объясняют, почему кто-то должен «попробовать это». Мы прилагаем усилия, чтобы стать источником знаний. – abarisone

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