здесь сценарий у меня есть, что я считаю, является довольно распространенным:как изменить локальное изменение на конкретную ветку?
- файл А на ветке
master
. - я
fork master
вfeature
- теперь я добавить несколько фиксаций на функцию ветви изменяющегося файла А.
- я отменить несколько изменений (путем редактирования файла более, чтобы удалить изменения), так что файл является тем же в отрасли мастер, потому что мои изменения не были, что умные
- я сделать новое изменение и хотите увидеть, если я удалил все еще до
- моя первая попытка является
git diff master...
но ТНА t показывает тот же самый diff от git diff
, он не показывает изменения от мастера к настоящему времени.
пример содержания и дифф
$ git checkout master
$ cat a
line 1
line 2
$ git checkout feature
$ cat a
line 1-1
line 2-2
line 3
line 4
$ edit a #< from now on a is not indexed, it is locally edited
$ cat a
line 1
line 2
line 3
$ git diff
--- a
- line 1-1
- line 1-2
+ line 1
+ line 2
line 3
- line 4
$ git diff master...
--- a
- line 1-1
- line 1-2
+ line 1
+ line 2
line 3
- line 4
разн я хочу, чтобы это:
$ git diff ???
--- a
line 1
line 2
+ line 3
возможно дубликат [Сравнивая две ветви в GIT?] (Http://stackoverflow.com/questions/9834689/comparing-two-branches-in-git) –
возможный дубликат [показывает, какие файлы изменились между git branch] (http://stackoverflow.com/questions/822811/showing-which-files-have-changed-between-git-branches) – krlmlr
для дублирования комментариев и downvotes: причина этого вопроса даже существует, потому что i путают этот прецедент (неиндексированные файлы) со случаем в этом вопросе (файлы часть дерева). принятый ответ указывает, почему я был (мы!) ошибочным в предположении. – gcb