首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git-svn的git-svn标签在哪里?

git-svn的git-svn标签在哪里?
EN

Stack Overflow用户
提问于 2013-10-25 08:05:14
回答 2查看 191关注 0票数 1

我使用git-svn来练习git.我的意思是我绝不是个口交专家。一开始,我发现git令人望而生畏,但我开始对git的设计和能力着迷。我有一个问题,我不能回答在网上搜索,也许是因为它是很难搜索。

在使用git (在使用git - svn进行克隆之后)对特性分支进行了几天的开发之后,我想在git、svn、dcommit之前重新确定提交的基础。我不想用几十个小的、毫无意义的提交来淹没svn集成分支。为此,我知道我可以使用git重基-i。

此命令需要指定提交。我读过我能用(标签?)叫做git-svn。事实上,存在这样的提交/标记,我可以将git日志git-svn.,或者git重基-i git-svn。

到目前为止,这个还不错。现在,在这个介绍之后,我的问题是:

这个git-svn的引用是什么?标签?承诺?命令git标记--list没有显示任何内容,git-svn作为标记在我以前工作过的其他git克隆上不存在。

另一个问题:在我将svn提交后,该引用会被更改吗?可以手动更改吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-10-25 09:25:18

在这种情况下,git-svn不是标记。这是一种(特殊的) 远程跟踪分支,由git svn clone创建。

背景:

当您使用git svn clone克隆SVN存储库时,默认情况下,整个回购将被克隆为一个远程跟踪的git分支(要将SVN分支转换为git分支,必须使用选项-T-b-s;参见手册中的SVN分支的处理部分)。在这种情况下,git svn将创建远程跟踪分支为git svn

现在,git允许您将引用缩写为分支;因此,您可以编写git log refs/heads/master,而不是编写git log master。同样,"refs/remotes/git-svn“也可以缩写为"git-svn”。这在手册gitrevisions中有解释。

因此,要回答你的问题:

这个git-svn的引用是什么?标签?承诺?

它是一个远程跟踪分支。它是由git branch -a显示的。

另一个问题:在我将svn提交后,该引用会被更改吗?

是。分支"git- SVN“跟踪您克隆的SVN回购,因此当您从SVN获取新的修订时,它将被更改;这包括调用git svn dcommitgit svn fetch

可以手动更改吗?

是的,它可以,就像其他的git分支一样。但是,一般来说,这是没有意义的;它只会混淆git svn和混乱您的存储库。有些情况下是必要的(例如,重新获取服务器上更改的SVN修订版),但这是另一个问题.

票数 2
EN

Stack Overflow用户

发布于 2013-10-25 09:24:33

我在我的项目中广泛使用git-svn,我找不到一个名为git-svn的引用。你用的是哪个git版本?

根据我自己的经验,git-svn创建一个名为主干的引用,该引用指向从svn服务器检索到的最后一次提交。当您执行git、svn、dcommit或git重基时,引用将更新为提交,表示svn的首修订版。

为了执行您描述的dcommit,您可以:

代码语言:javascript
复制
git svn rebase (to update your current branch to the latest svn revision)
git rebase -i trunk (to rewrite local history before dcommit-ting)
git svn dcommit 

在最后一步之后,主干引用将被更新到刚刚完成的svn修订版。

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

https://stackoverflow.com/questions/19584385

复制
相关文章

相似问题

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