在不克隆的情况下比较两个 Git 分支
Compare two Git branches without cloning
使用 Git CLI 我们可以比较两个 git 分支 而无需克隆 其中任何一个吗? (相同的回购协议)
例如
分支机构:
- 硕士
- test_branch1
- test_branch2
我想要一个命令,借助它我可以比较如下内容:
git diff test_branch1 test_branch2
您不克隆分支,而是克隆存储库本身。如果你想比较远程分支,你可以这样做:
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
如果不克隆或获取提交,您不能在本地 运行 git diff
。如果你想避免 git clone/fetch
还有两个选项。
如果您可以通过 SSH 访问远程存储库,您可以 运行 git diff
直接在远程服务器上:
ssh <user@origin-URL> """
cd /path/to/repository &&
git diff test_branch1 test_branch2
"""
如果您没有 SSH 访问权限,但存储库托管在具有 Web 界面的服务器上(您在问题中使用了标签 [gitlab]),那么您可以使用 Web 界面来比较提交。例如:https://gitlab.com/sqlobject/sqlobject/compare/ed64be0ed032055b0a6613fe3051d83a74ded566...bebfdf9512ca6cdf94a3724dc2625a2288246945
如果您既没有 SSH 也没有 Web 访问权限,您唯一的选择是在本地 clone/fetch 和 运行 git diff
。
使用 Git CLI 我们可以比较两个 git 分支 而无需克隆 其中任何一个吗? (相同的回购协议)
例如 分支机构:
- 硕士
- test_branch1
- test_branch2
我想要一个命令,借助它我可以比较如下内容:
git diff test_branch1 test_branch2
您不克隆分支,而是克隆存储库本身。如果你想比较远程分支,你可以这样做:
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
如果不克隆或获取提交,您不能在本地 运行 git diff
。如果你想避免 git clone/fetch
还有两个选项。
如果您可以通过 SSH 访问远程存储库,您可以 运行 git diff
直接在远程服务器上:
ssh <user@origin-URL> """
cd /path/to/repository &&
git diff test_branch1 test_branch2
"""
如果您没有 SSH 访问权限,但存储库托管在具有 Web 界面的服务器上(您在问题中使用了标签 [gitlab]),那么您可以使用 Web 界面来比较提交。例如:https://gitlab.com/sqlobject/sqlobject/compare/ed64be0ed032055b0a6613fe3051d83a74ded566...bebfdf9512ca6cdf94a3724dc2625a2288246945
如果您既没有 SSH 也没有 Web 访问权限,您唯一的选择是在本地 clone/fetch 和 运行 git diff
。