Путаница о статусе git и фиксации на разных ветках [дубликат]

Верхний ответ spektom работает идеально.

Если вы пишете AsyncTask inline и не распространяетесь как класс, и, кроме того, если есть необходимо получить ответ из AsyncTask, можно использовать метод get(), как показано ниже.

RSSFeed feed = new RetreiveFeedTask().execute(urlToRssFeed).get();

(Из его примера.)

457
задан the Tin Man 21 March 2014 в 22:22
поделиться

10 ответов

Для списка файлов, которые нужно нажать, выполните:

git diff --stat --cached [remote/branch]

example:

git diff --stat --cached origin/master

Для кода diff файлов для запуска:

git diff [remote repo/branch]

Чтобы просмотреть полные пути к файлам файлов, которые будут меняться, запустите:

git diff --numstat [remote repo/branch]

Если вы хотите увидеть эти различия в графическом интерфейсе , вам нужно будет настроить git для этого. См. Как просмотреть вывод «git diff» с помощью программы визуального сравнения? .

524
ответ дан Community 1 September 2018 в 03:02
поделиться

Чтобы просто перечислить коммиты, ожидающие нажатия: ( это тот, который вы будете помнить )

git cherry -v

Показать объекты фиксации рядом с SHA1 .

140
ответ дан Alex Nolasco 1 September 2018 в 03:02
поделиться

Чтобы просмотреть, какие файлы изменены и , просмотрите фактические изменения кода по сравнению с ветвью master, которые вы могли бы использовать:

git diff --stat --patch origin master

ПРИМЕЧАНИЕ : Если вы используете любую из Intellij IDE, тогда вы можете щелкнуть правой кнопкой мыши проект верхнего уровня, выберите Git> Compare with branch> и выберите нужный источник, например, origin/master. В появившемся дереве файлов вы можете дважды щелкнуть файлы, чтобы увидеть визуальный diff. В отличие от опции командной строки выше вы можете редактировать локальные версии из окна diff.

4
ответ дан ccpizza 1 September 2018 в 03:02
поделиться

Всегда есть сухой ход:

git push --dry-run

Он будет делать все, кроме фактической отправки данных.

Если вы хотите получить более графическое представление, у вас есть множество параметров.

Tig и скрипт gitk, который поставляется вместе с git, отображают текущую ветку ваша локальная копия и ветвь удаленного или источника.

alt text [/g1]

Таким образом, любые фиксации, которые вы делаете после начала, являются фиксациями, которые будут нажаты .

Откройте gitk из оболочки, находясь в ветке, которую вы хотите нажать, набрав gitk&, затем, чтобы увидеть разницу между тем, что находится на пульте дистанционного управления и что вы собираетесь нажать на пульт, выберите свой локальный unpushed commit и щелкните правой кнопкой мыши на пульте дистанционного управления и выберите «Diff this -> selected»: alt text [/g2]

158
ответ дан cmcculloh 1 September 2018 в 03:02
поделиться

Вы можете перечислить коммиты:

git cherry -v

, а затем сравните с следующей командой, где число ^ равно числу коммитов (в примере, который его совершает 2):

git diff HEAD^^
0
ответ дан DavidS 1 September 2018 в 03:02
поделиться

Попробуйте git diff origin/master..master (предполагая, что origin/master является вашим восходящим потоком). В отличие от git push --dry-run, это работает, даже если у вас нет права на запись в восходящий поток.

5
ответ дан Ed Avis 1 September 2018 в 03:02
поделиться

Используйте git gui, там вы можете увидеть список изменений, которые были изменены в вашей реальной фиксации. Вы также можете использовать gitk, который обеспечивает легкий интерфейс для журналов. Просто сравните между remotes/... и master, чтобы увидеть, что будет нажато. Он предоставляет интерфейс, похожий на ваш снимок экрана.

Обе программы включены в git.

4
ответ дан fuz 1 September 2018 в 03:02
поделиться

Один из способов сравнить вашу локальную версию, прежде чем нажимать ее на удаленное репо (например, нажимать в сухом режиме):

Использовать TortoiseGit: щелкните правой кнопкой мыши проект корневой папки> TortoiseGit> Diff с предыдущим version> для версии 2 выберите refs/remotes/origin/master

8
ответ дан Nakilon 1 September 2018 в 03:02
поделиться

Вероятно, вы хотите запустить git difftool origin/master.... что должно показать унифицированный разброс того, что находится в вашей текущей ветке, которая еще не находится в ветви origin / master, и отобразить ее в графическом инструменте diff по вашему выбору. Чтобы быть последним, сначала запустите git fetch.

19
ответ дан Scott Chacon 1 September 2018 в 03:02
поделиться

Если вы используете Mac OS X, я бы порекомендовал вам получить Tower, это замечательная программа, которая позволила мне разобраться с Git. Теперь мне больше нужно запоминать команды терминала, и он предлагает отличный графический интерфейс для просмотра, отслеживания и устранения различий в файлах.

И нет, я не связан с ними, я просто использую их программное обеспечение и очень люблю его.

http://www.git-tower.com/

2
ответ дан tuomassalo 1 September 2018 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: