首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git-svn:确定提前或延迟提交的数量

Git-svn:确定提前或延迟提交的数量
EN

Stack Overflow用户
提问于 2013-06-04 23:34:55
回答 2查看 684关注 0票数 1

有没有办法用git-svn来确定我提前或落后了多少个提交?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-06-10 18:10:46

不是直接的。不过,您可以做的是找出与Subversion存储库的本地副本相比领先和/或落后了多远。

因此,从git svn fetch开始,让您的本地存储库保持最新状态,然后从那里开始。

要找出在您当前所在的分支中有多少提交,但哪些提交没有提交到Subversion服务器,有一大堆技巧,但最明显的一个是运行git svn dcommit --dry-run,并查看列出了多少提交要推送到Subversion。

简而言之:运行git svn dcommit --dry-run | grep diff-tree | wc -l

您可能可以从git svn dcommit --dry-rungit log -1 --grep git-svn-id的第一行开始解决这个问题。

假设您的分支是master,父Subversion分支是remotes/svn/trunk。然后,您可以运行git svn rev-list master..remotes/svn/trunk | wc -l来计算远程主干中而不是分支中的所有提交。

作为上述所有方法的替代方案,在创建分支时,将其指定为跟踪Subversion分支。例如,当我基于远程干线创建本地分支时,我按如下方式创建:

代码语言:javascript
运行
复制
git checkout -b new-branch-name -t remotes/svn/trunk

现在,每当我执行git statusgit checkout new-branch-name时,输出都会包含一行内容,告诉我每个分支相对于另一个分支的前后位置有多远。

对于已经存在的分支,您可以将其设置为跟踪Subversion分支,如下所示:

代码语言:javascript
运行
复制
git branch --set-upstream existing-branch remotes/svn/trunk
票数 2
EN

Stack Overflow用户

发布于 2019-11-20 18:16:31

在git >= 1.9中,似乎存在一个阻止使用--set-upstream/--set-upstream-to的错误

在git 2.23.0中,它也不适用于我

解决方法是手动修改.gitconfig:how-to-set-upstream-branch-in-git-svn

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16921873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档