如何检查文件在另一个分支上是否有正向进度?

时间:2015-10-29 18:27:23

标签: git branch git-merge

我们的团队正在使用git进行版本控制。

当为每个团队成员分配编程任务时,
他们分支我们的dev分支,然后分支到他们自己的issue-#分支。

许多未合并的问题分支正在进行中,
如何评估特定文件是否具有前进进度以及在哪些分支上?

实施例,
我想查看dev分支,
并运行一个命令,结果类似于:

dev/issue-34 (20 insertions / 5 deletions)  
dev/issue-71 (60 deletions)

查询特定查询文件。

一个过滤数百个分支的命令,并通知我到目前为止编辑了一个paritcular文件的人。

2 个答案:

答案 0 :(得分:0)

作为基础,您可以使用

Sub UpdateAccessDatabase() Dim accApp As Object Dim SQL As String Dim id As Integer Dim Var1 as Integer id = frmsetup.update.Caption var1 = frmsetup.lbldate.caption SQL = "UPDATE [Table3] SET [Table3].Time_out= " & "Now()" & " WHERE [Table3].Sequence=" & id & " AND [Table3].Audit_Date=" & var1 & "" Set accApp = CreateObject("Access.Application") With accApp .OpenCurrentDatabase "\\*****\Visitor_Info\Visitor_Info.accdb" .DoCmd.RunSQL SQL .Quit End With Set accApp = Nothing End Sub

获取git diff --numstat dev origin/issue-34与给定问题分支之间包含新/删除行数的文件列表。

答案 1 :(得分:0)

您希望使用git for-each-ref命令循环浏览感兴趣的分支,然后在任何更改上转储差异统计信息。

在下面的脚本中,它假设您已经检查到您的dev分支,您有一个远程来源,它正在从中获取分支,并且您位于根目录中并传递完整路径和名称感兴趣的文件。它也缺乏错误检查,但应具备您需要的基本功能。

#!/bin/sh
# $1 is the name of the file we are interested in 
baseSha=$(git rev-parse HEAD:$1)

git for-each-ref  --format="%(refname)" refs/remotes/origin/dev/* | \
while read dev_branch
do
   echo "Checking ${dev_branch}"
   branchSha=$(git rev-parse ${dev_branch}:$1)
   if [ ${baseSha} != ${branchSha} ]
   then
      git diff --stat HEAD..${dev_branch} -- $1
   else 
      echo "No changes"
   fi
done