Git vs SVN Как различить теги - PullRequest
0 голосов
/ 31 марта 2012

С svn и Cornerstone это тривиально, но я не могу найти способ сделать это с помощью Git или sourcetree (Atlassians отличный инструмент визуального git для mac sourcetreeapp).

Мне нужно сравнить два коммита в одной ветви, которые разделены на несколько версий. Cornerstone позволяет мне выбирать любую версию или тег и сравнивать с моим рабочим каталогом, но я не могу найти способ получить sourcetree или использовать для этого git diff и filemerge (opendiff).

например.

working dir HEAD
change three
change two
change one Tag: works

Мне нужно сравнить HEAD и works, но я не могу найти способ сделать это. Я даже не могу извлечь файл из works, как я могу в SVN, он хочет вытащить весь репозиторий с этой версией и стереть мой рабочий каталог. Если бы я мог получить файлы рядом, я мог бы запустить opendiff или другой инструмент.

Чего мне не хватает?

Ответы [ 3 ]

2 голосов
/ 31 марта 2012
  1. Вы можете сравнить любые два коммита с git diff <commit hash1> <commit hash2>.
  2. Вы можете сравнить один файл в любых двух коммитах с git diff <commit hash1> <commit hash2> -- file/path
  3. Вы также можете извлечь файл из определенного коммита с помощью git checkout <commit hash> -- file/path.
0 голосов
/ 31 марта 2012

Run gitk --all

Выберите первый коммит.

Щелкните правой кнопкой мыши второй коммит и выберите «diff this to selected»

Или вы можете сделать это в командной строке с помощью git diff.

0 голосов
/ 31 марта 2012

Вы можете различать теги так:

git diff tag1 tag2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...