Сравните две ветки Git без клонирования - PullRequest
0 голосов
/ 24 октября 2019

С помощью Git CLI мы можем сравнить две ветви git без клонирования кто-нибудь из них? (тот же репо)

например, филиалы:

  1. master
  2. test_branch1
  3. test_branch2

Я хочу командус помощью которого я могу сравнить что-то вроде:

git diff test_branch1 test_branch2

Ответы [ 2 ]

2 голосов
/ 24 октября 2019

Вы не клонируете ветки, вы клонируете сам репозиторий. Если вы хотите сравнить удаленные ветки, вы можете сделать:

git fetch
git diff origin/branch_1 origin/branch_2

Если вы не хотите получать файлы из репозитория, вы можете сделать следующее:

mkdir example
git init
git remote add origin <remote URL>
git fetch
git diff origin/branch_1 origin/branch_2
1 голос
/ 24 октября 2019

Вы не можете запустить git diff локально без клонирования или получения коммитов. Если вы хотите избежать git clone/fetch, осталось две опции.

Если у вас есть SSH-доступ к удаленному репозиторию, вы можете запустить git diff непосредственно на удаленном сервере:

ssh <user@origin-URL> """
    cd /path/to/repository &&
    git diff test_branch1 test_branch2
"""

Если у вас нет доступа по SSH, но там хранилище размещено на сервере с веб-интерфейсом (вы использовали тег [gitlab] в своем вопросе), то вы можете использовать веб-интерфейс для сравнения коммитов. Например: https://gitlab.com/sqlobject/sqlobject/compare/ed64be0ed032055b0a6613fe3051d83a74ded566...bebfdf9512ca6cdf94a3724dc2625a2288246945

Если у вас нет ни SSH, ни веб-доступа, вы можете только клонировать / получить и запустить git diff локально.

...