- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
已经有人问过类似的问题here ,但我认为它被误解了(或者我误解了这个问题)。所以让我在这里问清楚。当我执行 git status
时,我得到(除其他外)一行告诉我我是否落后于(或从)我正在跟踪的远程分支。这很棒。但是,我有不止一个 Remote 。我有一个“官方” Remote (来源),它是共享的(只有当东西“准备好”时我才会推送),还有一个“个人” Remote (工作),我用它从家里/工作中推送东西,所以当我切换计算机时我可以继续工作。现在,当我执行 git status
时,会将本地分支与 origin/branch_name
(或我正在跟踪的任何远程分支)进行比较。但是,我也想将它与其他 Remote /分支机构进行比较,但不 pull ,只是比较。理想情况下,我想做这样的事情:
git fetch work
git status work/branch_name
并获取我的本地分支机构与 work/branch_name 的状态比较。
请注意,我不想做 diff,也就是说,我对哪些文件/路径不同不感兴趣。我只想看看这两个分支是否/何时 fork ,或者一个是否领先于另一个。
另请注意,我可以使用 gitk --all
以图形方式获取此信息,查看两个分支在树中的位置,但我想从命令行执行此操作。此外,如果有多个分支,用 gitk --all
显示的树可能会很乱。
谢谢
最佳答案
不幸的是,git status
始终使用当前配置的上游,即查看当前分支(我们称之为 $branch
),然后检查 branch.<em>$branch</em>.remote
的配置值和 branch.<em>$branch</em>.merge
.
除了修改 git status
采取--pretend-upstream
flag 或类似的,这让你只有两个选择:重新配置上游(可能是暂时的),或模拟 git status
.由于您只需要提交计数,事实证明这相对容易:我们只需要知道所需上游的名称即可。
为了使其完全通用,您可以发明类似 branch.<em>$branch</em>.extstatus
的东西或其他,然后遍历 git config --get-all
输出,但只是硬连接一个特定的 work/branch_name
你可以这样做:
git rev-list --count work/branch_name..HEAD
和:
git rev-list --count HEAD..work/branch_name
..
notation 选择在 1 右侧分支上的提交,2 排除左侧分支上的任何提交,以及 --count
使 git rev-list
仅打印选择中提交的计数;所以第一个命令让你“ promise 你有而他们没有”(你的“领先”计数),第二个命令让你“ promise 他们有但你没有”(你的“落后”计数)。
将两者与shell结合起来:
echo "vs work/branch_name: ahead $(git rev-list ...), behind $(git rev-list ...)"
(填写 ...
部分,我遗漏了这些部分以使线条适合)。将其设置为 git 或 shell 别名就可以了。
1更准确地说,“可访问自”:即提交本身或其任何 parent 、祖 parent 等。
2更准确地说,任何标识提交或可用于定位提交的内容(例如,带注释的标签)。
关于Git状态与不同的远程比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33696557/
我正在通读 Windows Phone 7.5 Unleashed,有很多代码看起来像这样(在页面的代码隐藏中): bool loaded; protected override void OnNav
在cgi服务器中,我这样返回 print ('Status: 201 Created') print ('Content-Type: text/html') print ('Location: htt
我正在查看 esh(easy shell)的实现,无法理解在这种情况下什么是 22 和 9 信号。理想情况下,有一个更具描述性的常量,但我找不到列表。 最佳答案 信号列表及其编号(包括您看到的这两个)
我的Oozie Hive Action 永远处于运行模式。 oozie.log文件中没有显示错误。
我正在编写一个使用 RFCOMM 通过蓝牙连接到设备的 Android 应用程序。我使用 BluetoothChat 示例作为建立连接的基础,大部分时间一切正常。 但是,有时由于出现套接字已打开的消息
我有一个云调度程序作业,它应该每小时访问我的 API 以更新一些价格。这些作业大约需要 80 秒才能运行。 这是它的作用: POST https://www.example.com/api/jobs/
我正在 Tomcat 上访问一个简单的 JSP 页面: 但是当我使用 curl 测试此页面时,我得到了 200 响应代码而不是预期的 202: $ curl -i "http://localhos
有时 JAR-RS 客户端会发送错误的语法请求正文。服务器应响应 HTTP status 400 (Bad Request) , 但它以 HTTP status 500 (Internal Serve
我正在尝试通过 response.send() 发送一个整数,但我不断收到此错误 express deprecated res.send(status): Use res.sendStatus(sta
我已经用 Excel 和 Java 做过很多次了……这次我需要用 Stata 来做,因为保存变量更方便'labels .如何将 dataset_1 重组为下面的 dataset_2? 我需要转换以下
我正在创建一个应用程序,其中的对象具有状态查找功能。为了提供一些上下文,让我们使用以下示例。 帮助台应用程序,其中创建作业并通过以下工作流程移动: 新 - 工作已创建但未分配 进行中 - 分配给工作人
我想在 Keras 中运行 LSTM 并获得输出和状态。在 TF 中有这样的事情 with tf.variable_scope("RNN"): for time_step in range
有谁知道 Scala-GWT 的当前状态 项目? 那里的主要作者 Grzegorz Kossakowski 似乎退出了这个项目,在 Spring 中从事 scalac 的工作。 但是,在 interv
我正在尝试编写一个 super 简单的 applescript 来启动 OneDrive App , 或确保打开,当机器的电源设置为插入时,将退出,或确保关闭,当电源设置为电池时。 我无法找到如何访问
目前我正在做这样的事情 link.on('click', function () { if (link.attr('href') !== $route.current.originalPath
是否可以仅通过查看用户代理来检测浏览器上是否启用/禁用 Javascript。 如果是,我应该寻找什么。如果否,检测用户浏览器是否启用/禁用 JavaScript 的最佳方法是什么 最佳答案 不,没有
Spring 和 OSGi 目前的开发状况如何? 最近好像有点安静了。 文档的最新版本 ( http://docs.spring.io/osgi/ ) 来自 2009 年。 我看到一些声明 Sprin
我正在从主函数为此类创建一个线程,但即使使用 Thread.currentThread().interrupt() 中断它,输出仍然包含“Still Here”行。 public class Writ
为了满足并发要求,我想知道如何在 Godog 中的多个步骤之间传递参数或状态。 func FeatureContext(s *godog.Suite) { // This step is ca
我有一个UIButton子类,它不使用UIImage背景,仅使用背景色。我注意到的一件事是,当您设置按钮的背景图像时,有一个默认的突出显示状态,当按下按钮时,该按钮会稍微变暗。 这是我当前的代码。
我是一名优秀的程序员,十分优秀!