草庐IT

git svn 工作流程 - 功能分支和 merge

我现在在以下工作流程中使用git-svngitclone#doneonce随后当我处理一个功能时gitbranchfeatureZgitcheckoutfeatureZ#makeeditsforfeatureZgitcommitgitcheckoutmastergitsvnrebase#fetchchangesfromservergitcheckoutfeatureZ#gobacktobranch#gitmergemastergitrebasemaster#getthechangesfromSVN->masterontothebranchnow.OptionalifIwantthebr

git-svn dcommiting 单个 git commit

给定多个未推送的git提交,是否有可能git-svndcommit只有其中一个提交?例如我已经提交了foo、bar和baz,但现在我只想让bar最终出现在svn仓库中。这可能吗? 最佳答案 (以下假设您的工作在master上。)首先,重新排序最后三个提交,使bar排在第一位。gitrebase-iHEAD~3编辑器会pop类似这样的内容:pick498e4f4foopick71547aebarpickabf09c6baz#Rebase4d3fe72..abf09c6onto4d3fe72##...在pop的编辑器中重新排序,使bar

git - 无法将 svn 存储库(没有主干)转换为 git

我正在尝试将我的svn存储库转换为git,但我没有取得太大的成功。有问题的存储库没有任何类似“主干”的东西。布局如下:/home/svn/|---/project1/|---/project2/|---/repos/project3/Andunderneaththoseprojectfoldersarethefiles.Notrunk,nobranches,nonothingspecial.AtthetimethatwasallIneeded,andnowit'sbitingmeintheass.I'mfollowingthisguide:http://john.albin.net/g

git - SVN 是否有等同于 git 的提交(没有推送)?

基本上,我想在不推送更改且不切换分支的情况下暂存更改。这允许我做一些工作,当我处于一个好的停止点时commit它,然后在同一个分支中继续工作。如果我搞砸了,我可以恢复,如果我添加新的更改,我可以再次提交。我知道我可以在SVN中创建一个功能分支来跟踪这些更改,但我还是希望在同一个分支/主干中这样做。即使是gitstash的等效项也足够了,尽管SVN似乎没有该功能。 最佳答案 分布式版本控制的关键在于本地提交的这一特性,它可以在稍后与上游存储库merge。SVN不是分布式的,做不到。主要障碍是SVN的线性修订编号,这意味着每个客户端必须

git - 如何解决 git-svn 索引不匹配问题?

当我执行gitsvnrebase时,它​​在某一时刻停止了说:Indexmismatch:SHAkeyofatree!=SHAkeyofanothertree.(我开始知道这些SHAkey对应于一棵树而不是来自gitshow的提交以上两个sha键。)re-reading...listoffiles...fatal:badobjectrev-list-1--not:commandreturnederror:128我对git的内部运作不是很有经验,那么是否有一系列步骤可以遵循来剖析这些问题并可能解决它们? 最佳答案 请不要删除.git/

svn - 我应该看看 Subversion 以外的版本控制系统吗?

在过去的一年里,我对颠覆上了瘾。我是唯一的开发人员,我也从事一些自己的项目。使用SVN,管理所有内容真的很容易——而且因为它通过HTTPS托管在在线服务器上,所以我可以从任何地方访问我的代码。它还非常适合将代码部署到我们的生产/开发服务器。我的观点是,它会做我需要它做的一切,而且从未让我失望。还有更好的吗?我是否遗漏了其他产品中可以用来让我的生活更轻松的某些功能?我一直都在使用最好的软件,并且在迁移到新技术方面没有任何问题。我听说过GIT,也做过一些研究。我打算尝试一下,但是当我搞砸的时候,是否还有其他被认为是“行业标准”的源代码控制系统,它们比SVN做得更好吗?

svn - git-svn:重置主人的跟踪

我正在使用git-svn来处理SVN存储库。我的工作副本是使用gitsvnclone-shttp://foo.bar/myproject创建的,因此我的工作副本遵循SVN的默认目录方案(主干、标签、分支)。最近我一直在研究一个分支,该分支使用git-svnbranchmyremotebranch创建并使用gitcheckout--track-bmybranchmyremotebranchcheckout。我需要在多个位置工作,因此我经常从分支机构git-svndcommit编辑文件到SVN存储库。完成更改后,我切换回master并执行merge,提交merge,并尝试将成功的merge

git - 更新远程分支的 git-svn 列表

当我必须使用svn时,我使用git-svn与svn对话。我用标准的gitsvnclone-s行克隆了repo,当时所有的远程分支都在那里。从那时起,一个新的分支已经创建,但不是我创建的。我想在本地checkout/跟踪这个分支。我可以像这样跟踪一个我可以看到的分支(使用gitbranch-r):gitcheckout-t-bdevremotes/development但这不适用于其他分支,因为它没有出现在gitbranch-r中我如何追踪这个丢失的分支? 最佳答案 运行以下命令后,您将能够在git端看到新的分支:$gitsvnfet

svn - 是什么让一些版本控制系统更擅长 merge ?

我听说许多分布式VCS(git、mercurial等)比Subversion等传统VCS更擅长merge。这是什么意思?他们做了什么样的事情来使merge更好?这些事情可以在传统的VCS中完成吗?额外的问题:SVN1.5的merge跟踪是否完全平衡了竞争环境? 最佳答案 SVN的merge功能不错,简单的merge场景也能正常工作——例如发布分支和主干,其中主干跟踪RB上的提交。更复杂的场景会很快变得复杂。例如,让我们从稳定分支(stable)和trunk开始。你想演示一个新功能,并且更喜欢将它基于stable,因为它比trunk更

svn - 有什么方法可以同步 GIT 和 Subversion 存储库?

我想使用GIT和SVN客户端访问存储库。我想象的一种方法是通过自动双向迁移:当用户PUSH到GIT存储库时,它也会在SVN存储库中提交,反之亦然。有什么工具可以帮助我做到这一点? 最佳答案 最好的方法是使用gitsvn作为Subversion客户端。这提供了Subversion存储库和Git存储库之间的双向集成。拥有Git存储库后,您可以将其推送到其他任何地方以发布它。我经常这样做,在工作中有一个Subversion存储库,它是“主”存储库,我通常使用gitsvn来访问它。有时,如果我正在做一些需要更具体的Subversion功能(