相关疑难解决方法(0)

Windows下的Git:MSYS还是Cygwin?

我计划将我的项目迁移到git,我现在想知道哪个是Windows下最好和/或最稳定的选项.

从我收集的内容我基本上有2.5个选项:

  1. MSYSgit
  2. Cygwin下的git
  3. (又名2.5)来自Cygwin提示的MSYSgit(假设已经安装了Cygwin git).

注意:IMO Cygwin本身就是一个很大的优势,因为你可以访问几乎所有的*nix命令行工具,就像使用MSYSgit bash一样,你只能访问这些工具的一小部分.

鉴于此,您会建议什么选择?

git cygwin dvcs msysgit

80
推荐指数
5
解决办法
6万
查看次数

如何将svn分支和标签导入git-svn?

我有一个我必须承诺的中央SVN存储库,但我对git充满热情(就像我认识的任何其他开发人员一样).这个案子众所周知.

然后我读了一下git-svn并尝试了一下.由于我不需要完整的历史,仅仅两个月左右,我就是这样的:

git svn clone -r 34000 -s https://svn.ourdomain.com/svn/repos/Project/SubProject
Run Code Online (Sandbox Code Playgroud)

像往常一样,SubProject拥有子目录trunk,tagsbranches.大.

然后,为了获得最后一次修订,我做到了

git svn rebase
Run Code Online (Sandbox Code Playgroud)

有些下载,很棒.最后修订,日志等等,好的,现在我将切换到我的功能分支.

$ git branch 
* master
Run Code Online (Sandbox Code Playgroud)
$ git branch -r  
  trunk
Run Code Online (Sandbox Code Playgroud)
$ git branch -a  
* master
  remotes/trunk
Run Code Online (Sandbox Code Playgroud)

问题是:我的分支在哪里?我做错了什么吗?我怎么做才能在新的git仓库中获得我的分支机构?

git-svn,无论我在哪里阅读它,明智地处理分支和标签,但行为不是我所期望的.谢谢!

编辑:我刚刚发现git svn fetch将会这样做.但它会得到所有修改,这是我不喜欢的.

svn git git-svn

67
推荐指数
6
解决办法
5万
查看次数

同一个svn存储库的不同git-svn克隆是否可以分享更改然后git svn dcommit?

我在网上看过很多"从svn转到git"和其他"git-svn工作流程"的文章,但我认为它们经常处理过于简单的情况.它们通常针对那些只想在本地使用git和hack的人,而不是使用git的全部功能,比如在多个开发人员之间使用git-svn克隆svn存储库时的pull,fetch,merge等,然后仍然希望能够随时将他们的更改推送到(官方)svn存储库,然后回到git工作并分享他们的东西等.

每当这些文章承认你不能做你在纯git中所做的一切时,后果和可能的搞砸都没有明确解释(或者也许只是我?).即使是git-svn手册页也提到了警告,但并没有真正广泛地提及.

基于我所读到的内容,我觉得当git-svn以特定方式使用时可能会出现问题,我将在下面介绍.有人可以告诉我,我是对的吗?

这是"通缉"的做事方式:

  1. 我们在svn存储库中有一个项目
  2. 开发人员一个git-svn-clone是svn repo.他开始在当地破解东西
  3. 开发人员B git-svn-clone与svn repo相同.他开始自己破解东西.
  4. 在做了一段时间后,可能添加开发者C/D/...,并让其他开发人员做"标准"svn提交到原始回购,git用户想要分享他们的代码并做各种git魔术.
  5. 这些git用户中的任何一个都希望能够将现在合并的更改推送到svn(dcommit?)

我的问题是:我在做梦吗?我前段时间读过一本git书,我认为,git-svn-clone可以创建git存储库,当然它们是svn repo的"镜像",但是不同开发人员以这种方式创建的git存储库会有所不同" ids"和提交将有不同的哈希.所以我的理解是那些git repos不会共享任何常见的git祖先,因此无法使用共享,合并等所需的所有git命令.这是真的,我们是否会面临这个工作流程的问题?

有时我读到这可以完成,至少使用一个"官方"裸git存储库,这将是唯一一个git-svn-cloned,并且所有git用户都必须从这个开始.然后你需要一个负责这个中央git仓库的人,并在将所有东西都提交给svn repo之前收集git devs之间的变化.这将是git用户"不知道"原始git repo来自svn的唯一方法,并允许他们使用所有git命令.唯一需要精通git和svn(并且了解git-svn警告)的人将是"合并经理"(或者他称之为的任何人).

我完全误解了git-svn警告吗?有没有更简单的方法呢?

svn git git-svn code-sharing

33
推荐指数
2
解决办法
5619
查看次数

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

我想使用GIT和SVN客户端访问存储库.我想象的一种方法是通过自动双向迁移:当用户推入GIT存储库时,它也在SVN存储库中被COMMITed,反之亦然.

有什么工具可以帮我做到这一点吗?

svn git version-control

31
推荐指数
4
解决办法
2万
查看次数

Git-SVN有多个分支机构?

我们公司的subversion repo有点棘手:我们有一个基本的"默认"布局,包括主干,标签和分支.但是,在分支内部,我们有一个"工作"目录,其中包含更多分支.像这样的东西:

  • 分支/ release_1_0_x
  • 分支/ release_1_1_x
  • 分支/工作/戴维/ topic_one
  • 分支/工作/嗵/ topic_two
  • 分支/工作/ something_else

现在我如何让git-svn将所有这些(以及更多)识别为单独的分支?它似乎git svn init只接受一个分支位置,我怎么调用它.

编辑:这是我初始化git repo的方式:

git svn clone  -s --prefix=svn/ http://svn.company.com/product/
Run Code Online (Sandbox Code Playgroud)

git git-svn

23
推荐指数
3
解决办法
1万
查看次数

RW使用svn(git-svnserver)访问git存储库?

是否有一个程序可以执行git-svn的功能,但是在服务器上的存储库是git,开发人员使用svn的情况下?

我知道github.com允许svn访问他们托管的git存储库,但看起来他们没有发布这个项目开源(但是?),并且使用他们的服务器对我来说不是一个选项(甚至不是他们的选择)私人仓库).

编辑:我认为我正在寻找的是与'git-cvsserver'平行 - git-svnserver.在一些搜索中,我在git邮件列表上找到了一些2-3岁的线程,但看起来并没有任何人取得重大进展.我希望有人可以纠正我.

目前有没有git-svnserver项目正在进行中?我讨厌重复努力,但似乎GitHub是最远的,但没有其他人可以拥有它.

svn git version-control git-svn

16
推荐指数
2
解决办法
3937
查看次数

将包含Eclipse项目的CVS存储库转换为git的最强大的方法?

我有一个情况,我有一个老年人的CVS存储库,我们希望一次性转换为git,同时保持完整的历史记录等.

存储库根目录下的所有文件夹都包含Eclipse项目(普通或动态Web项目),包括.classpath和.project.我们使用Team ProjectSet来检查给定任务所需的项目(项目集位于包含main的项目中,其余是库项目).

签出Team ProjectSet后,工作区将完全填充.

多年来这种方法运作良好(除了3.5附带的项目设置部分),如果可能的话,我们希望以类似的方式使用git,但我们不确定如何.

我玩过一段时间git cvs import但失败了 - 可能是因为我们没有使用模块.

您如何建议我们这样做,以及我们应该如何使用git来允许我们当前使用共享库项目?我们将HAVE介绍Maven和创造我们的图书馆项目的Maven模块?或者只是蚂蚁常春藤?


编辑:我现在设法通过合适的cvs2svn调用将我们的CVS存储库转换为Subversion,并发现Eclipse很好地识别了生成的Subversion存储库.不幸的是在克隆http: //github.com/iteman/svn2git`并尝试运行bin/svn2git之后我得到了

tra@Sandbox:~/cvsgit/svn2git/svn2git$ bin/svn2git
bin/svn2git:35:in `initialize': wrong number of arguments (2 for 1) (ArgumentError)
        from bin/svn2git:35:in `new'
        from bin/svn2git:35
Run Code Online (Sandbox Code Playgroud)

这是与Ubuntu 10.04.1 LTS服务器,我尝试了各种sudo与Ruby及其宝石的东西,但没有完全理解我做了什么,因为我不是一个Ruby程序员,所以我可能搞砸了一些东西.我很感激建议 - 如果最简单的是安装另一个Linux变种来进行转换,那很好.


编辑:

https://help.ubuntu.com/community/Git http://css.dzone.com/articles/subversion-git-morning


编辑:我第一次尝试使用默认的svn2git成功完成(一段时间后),我得到一个很好的存储库,其中git branch -a大致报告

tra@Sandbox:~/gitroot/svnroot$ git branch -a
* master
  remotes/XX64_DEPLOYED_CODE
  remotes/Beta1
  remotes/Beta2
  remotes/SV46
  ... lots more
Run Code Online (Sandbox Code Playgroud)

我们有兴趣能够检查SV46分支并使用它(我们基本上不关心标签,只关心实际的分支).我已经设置了gitosis并将此存储库推送到gitosis,并将其克隆到另一台计算机,以了解如何使用Eclipse进行"使用SV46"位. THAT库不知道所有的分支:

tra@TRA ~/git/git00 (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

我是否需要按照svn2git的原始结果来获取gitosis存储库中的信息?我需要用参数克隆吗?我应该使用建议的版本而不是Ubuntu附带的版本重做svn2git步骤吗?

编辑:事实证明,使用"git …

java eclipse git cvs

9
推荐指数
1
解决办法
2293
查看次数

git svn如何确定dcommit确定提交的位置?

我正在使用git-svn来跟踪同一个svn存储库中的多个分支.通常情况下这很好,但今天我已经完成了一些重置和重新设置,突然我的分支机构不会再向正确的远程分支发送:

$ git branch
* master
  a
  b

$ git svn dcommit -n
Committing to svn://server/repo/trunk ...

$ git checkout a
$ git svn dcommit -n
Committing to svn://server/repo/branches/a ...

$ git checkout b
$ git svn dcommit -n
Committing to svn://server/repo/branches/a ...
Run Code Online (Sandbox Code Playgroud)

所以分支b将提交到branches/a目录而不是branches/b目录.

我试过更改跟踪的分支:

$ git branch --set-upstream b remotes/b
Run Code Online (Sandbox Code Playgroud)

和其他东西,但唯一有效的解决方案是删除分支b并重新创建它:

$ git branch -D b
$ git branch b remotes/b
$ git svn dcommit -n
Committing to svn://server/repo/branches/b ...
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:git svn如何确定要提交的目录?我该如何修改这个目录?

谢谢,
乔纳斯

svn git branch

9
推荐指数
1
解决办法
2942
查看次数

如何通过git-svn使用嵌套分支

我们的svn服务器有一个名为Dev和Branches的主干

/Branches/Release/1.0/
                 /2.0/
                 /2.3.4/

我克隆它的东西就像git svn clone -T Dev ... -b Branches ...
我跑的时候git branch 2.1 remotes/Release/2.1得到的:
fatal: Not a valid object name: 'remotes/Release/2.1'.

  • 我如何参考远程分支?
  • 我是否需要使用不同的args重新克隆?

svn git branch git-svn

7
推荐指数
1
解决办法
2674
查看次数

使用git-svn的优缺点是什么?

我厌倦了颠覆,它不断破坏自己的存储库.因为我很长一段时间都是古怪的并且总是想尝试一下,所以我决定试一试并使用git-svn.但阅读文档我意识到你不能使用它的git awesomeness.你不能使用git-pull,不建议创建本地分支,并且有很多限制.看起来它比直接使用subversion好多了.或者是吗?git-svn对普通svn有什么利弊?

PS.对不起,我不是在问你如何修复我的subversion存储库,我不在乎.一夜之间删除同一目录中的所有.svn和checkout工作正常.我只是想知道git-svn带来什么好处.

svn git git-svn

6
推荐指数
1
解决办法
8709
查看次数

标签 统计

git ×10

svn ×7

git-svn ×6

branch ×2

version-control ×2

code-sharing ×1

cvs ×1

cygwin ×1

dvcs ×1

eclipse ×1

java ×1

msysgit ×1