Как просмотреть diff разветвленного проекта github

Я разработал проект на github, и мне нужен набор изменений, которые я сделал с тех пор, как разбудил, в формате diff.

Если вам интересно - я разветвил Apache httpd и меняю код в ядре. В настоящее время я не фиксирую никаких изменений, запускаю git diff и использую его вывод в качестве патча для исходных httpd-источников в процессе сборки RPM. Это, конечно, неправильно, но я не знаю, как это сделать правильно. Все, что я знаю, это то, что мне нужен diff в конце.

Ответы на вопрос(4)

получить патч или файл сравнения непосредственно с Github.

Когда вы находитесь на вилке, естьСсылка "Сравнить", Используя это, вы попадаете в окно сравнения.

пример

https://github.com/luisgoncalves/xades4j/compare/master...beat2:master

Теперь вы можетевручную добавьте «.diff» или «.patch» в конец этого URLи вы получите файл прямо в браузере.

пример

https://github.com/luisgoncalves/xades4j/compare/master...beat2:master.diff

Источник:https://github.com/blog/967-github-secrets

Решение Вопроса
Добавьте исходный репозиторий GitHub (тот, который вы разветвили) в качестве удаленного в локальном репо.
(git remote add mainRepo github_url)git fetch mainRepo чтобы получить последние изменения от этого оригинального "mainRepo".git log HEAD..mainRepo/master покажет вам все ваши изменения между последней версией главной ветки mainRepo и вашей текущей веткой.
git diff HEAD..mainRepo/master будет отображать его в формате diff.

Вlearn.GitHub:

git diff mainRepo/master...HEAD

будет перечислять все ваши изменения, так как вы отmainRepo:

Это не будет сравнивать последний «главный» снимок ветви и последний «dev» снимок - вместо этого будет сравниваться общий предок обоих с «dev». Это скажет вам, что изменилось с момента перехода.

 GDR27 сент. 2010 г., 11:42
Большое спасибо, это решает мою проблему. Мне определенно нужно потратить некоторое время, чтобы глубже понять философию git.
 jww17 апр. 2017 г., 15:26
fatal: ambiguous argument 'HEAD..upstream/master' а такжеfatal: ambiguous argument 'HEAD...upstream/master'... Обратные аргументы не имели значения. Еще одна простая задача усложнила.
 Peter Majeed11 янв. 2013 г., 17:49
+1. Если я могу добавить две заметки: Я считаю, что части ГОЛОВКА не нужны, если вы в данный момент на голове. Также,git difftool mainrepo/master а такжеgit difftool ..mainrepo/master полезны, если вы хотите просмотреть изменения в вашем сконфигурированном difftool.
 VonC17 апр. 2017 г., 18:10
@jww Вы определили апстрим в своих пультах (git remote -v)? Вы создали ветку с именемupstream/master? (stackoverflow.com/a/26046933/6309) или тег (stackoverflow.com/a/35980056/6309)?
 Alex Klaus28 дек. 2016 г., 06:07
Как посмотреть различия в разветвленном проекте через TortoiseGit -stackoverflow.com/a/7297491/968003

Если вы добавите ветку, которая отслеживает репозиторий «вверх по течению», в свой репозиторий, то вы также можете увидеть diff в самом github:

 git remote add mainRepo github_url
 git fetch mainRepo
 git branch main_repo_master mainRepo/master
 git push origin main_repo_master

Тогда посмотрите это онлайн так:

https://github.com/rdp/mplayer-svn/compare/master... main_repo_master

ссылка:http://betterlogic.com/roger/2012/04/github-compare-commits

Получить родительскую / форковую точку sha1:git merge-base master HEAD Получить diff:git diff <sha1>

Или в одной команде:git difftool $(git merge-base master HEAD)

Что совпадает с командой сахара:git diff master...HEAD

Ваш ответ на вопрос