Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个不同文件夹中两个不同存储库之间的git差异_Git_Github_Git Diff - Fatal编程技术网

两个不同文件夹中两个不同存储库之间的git差异

两个不同文件夹中两个不同存储库之间的git差异,git,github,git-diff,Git,Github,Git Diff,我想知道如何使用以下文件夹/git结构从9.3.1-STABLE和TN-9.3.1-STABLE获得git差异 root@build3:/tank/home/stable-builds/FN # git branch 9.3-STABLE * 9.3.1-STABLE root@build3:/tank/home/stable-builds/TN # git branch TN-9.3-STABLE * TN-9.3.1-STABLE master 任何答案都将不胜感激。首先,我们让两个

我想知道如何使用以下文件夹/git结构从9.3.1-STABLE和TN-9.3.1-STABLE获得git差异

root@build3:/tank/home/stable-builds/FN # git branch
  9.3-STABLE
* 9.3.1-STABLE

root@build3:/tank/home/stable-builds/TN # git branch
TN-9.3-STABLE
* TN-9.3.1-STABLE
master

任何答案都将不胜感激。

首先,我们让两个git回购相互了解

转到一个存储库

cd /tank/home/stable-builds/FN
将其他回购协议添加为“远程”

取回另一份回购协议

git fetch TN
现在,我们要求一个差异

git diff 9.3.1-STABLE remotes/TN/TN-9.3.1-STABLE

如果您计划定期进行此类差异,我建议使用远程存储库 如@BartBog的回答所述

如果没有,您可以在不添加远程存储库的情况下执行以下操作:

备选案文1: 或者简单地说:

git diff /tank/home/stable-builds/FN /tank/home/stable-builds/TN
从git手册:

git diff[选项][--无索引][-]

此表单用于比较文件系统上给定的两个路径。在Git控制的工作树中运行命令且至少有一条路径指向工作树外部时,或者在Git控制的工作树外部运行命令时,可以省略
--no index
选项

注意:它比较文件系统上的工作副本

备选案文2: 如果要将FN工作副本与TN中的TN-9.3.1-STABLE分支进行比较,可以执行以下操作:

  • 如果您在
    /tank/home/stable builds/FN

      git --git-dir=../TN/.git diff TN-9.3.1-STABLE
    
  • 如果您在其他地方:

      git --git-dir=/tank/home/stable-builds/TN/.git --work-tree=/tank/home/stable-builds/FN diff TN-9.3.1-STABLE
    
从git手册:

--git dir=
设置存储库的路径

--工作树=
设置工作树的路径

这对我来说是个好办法,实际上origin/9.3.1-STABLE和TN-9.3.1-STABLE是同一回购协议中的分支

当我发布这个问题时,我认为9.3.1-STABLE和TN-9.3.1-STABLE是不同的回购协议,因此,如果有混淆,我很抱歉

# git diff --stat origin/9.3.1-STABLE TN-9.3.1-STABLE
 ChangeLog                                                |  26 +++++-
 Makefile                                                 |  12 +--
 README.md                                                |   6 +-
 ReleaseNotes                                             |  97 ++++------------------
 build/README                                             |   6 +-
 build/create_redmine_changelog.py                        |   4 +-
 build/files/install.sh                                   |   4 +-
 build/nanobsd-cfg/FREENAS.amd64                          |   3 -
 build/nanobsd-cfg/Files/etc/rc.conf.local                |   7 +-
^^^将只提供更改过的文件,并提供完整路径,您可以执行如下操作,以清楚地了解更改的内容和位置

# git diff origin/9.3.1-STABLE:ChangeLog TN-9.3.1-STABLE:ChangeLog
diff --git a/origin/9.3.1-STABLE:ChangeLog b/TN-9.3.1-STABLE:ChangeLog
index 35e315e..656c681 100644
--- a/origin/9.3.1-STABLE:ChangeLog
+++ b/TN-9.3.1-STABLE:ChangeLog
@@ -1,2 +1,24 @@
-#11936 Bug     Critical        UI left pane does not populate
-#12208 Bug     Critical        Fix late-breaking issue with ntpd update
+o Add a vCenter plugin.  This functionality allows you to install
+  the TrueNAS 1.0 vCenter plugin in to vCenter, which will then
+  allow you to create iSCSI and NFS datastores directly from vCenter.

如果要比较的分支未在这些路径中签出,是否可以扩展此方法?@BartBog否,它比较文件系统上的工作副本。
git diff origin/9.3.1-STABLE TN-9.3.1-STABLE
# git diff --stat origin/9.3.1-STABLE TN-9.3.1-STABLE
 ChangeLog                                                |  26 +++++-
 Makefile                                                 |  12 +--
 README.md                                                |   6 +-
 ReleaseNotes                                             |  97 ++++------------------
 build/README                                             |   6 +-
 build/create_redmine_changelog.py                        |   4 +-
 build/files/install.sh                                   |   4 +-
 build/nanobsd-cfg/FREENAS.amd64                          |   3 -
 build/nanobsd-cfg/Files/etc/rc.conf.local                |   7 +-
# git diff origin/9.3.1-STABLE:ChangeLog TN-9.3.1-STABLE:ChangeLog
diff --git a/origin/9.3.1-STABLE:ChangeLog b/TN-9.3.1-STABLE:ChangeLog
index 35e315e..656c681 100644
--- a/origin/9.3.1-STABLE:ChangeLog
+++ b/TN-9.3.1-STABLE:ChangeLog
@@ -1,2 +1,24 @@
-#11936 Bug     Critical        UI left pane does not populate
-#12208 Bug     Critical        Fix late-breaking issue with ntpd update
+o Add a vCenter plugin.  This functionality allows you to install
+  the TrueNAS 1.0 vCenter plugin in to vCenter, which will then
+  allow you to create iSCSI and NFS datastores directly from vCenter.