我最近决定采取git暴跌,我真的很喜欢使用git,即使在Windows上。
我目前的开源项目依赖于颠覆 ,所有的开发者都熟悉颠覆,所以我想现在把颠覆当作“真相之源”。
尽pipe如此,我想要使用git,所以我继续使用git svn 在github上创build一个源代码副本。 我的所有工作都是针对github中的源代码完成的,并将我的更改推送到github上。 每隔几天一次,我也把我的改变推给svn和rebase。
最初的导入似乎没有问题,但是现在每次我做一个“git svn rebase”的时候,我一直在冲突,甚至在我的get repository中没有改变的文件。 这让我非常痛苦
例如。
$ git svn rebase 首先,重新开始重放你的作品... 应用:添加git忽略文件 c:/Users/sam/Desktop/MediaBrowserGit/trunk/.git/rebase-apply/patch:12:trailing 空白。 * / OBJ / * 错误:.gitignore:已经存在于索引中 使用索引信息重build基础树... :12:尾随空格。 * / OBJ / * 警告:1行添加空格错误。 回到修补基地和3路合并... 自动合并.gitignore CONFLICT(添加/添加):在.gitignore中合并冲突 未能在更改中合并。 补丁在0001失败添加git忽略文件 当你解决这个问题时运行“git rebase --continue”。 如果您想跳过此修补程序,请运行“git rebase --skip”。 恢复原来的分支,并停止rebasing运行“git rebase --abort”。 rebase refs / remotes / git-svn:命令返回错误:1
我的问题:
有什么办法可以告诉混帐使用svn作为源同步自己,所以我可以开始一个干净的石板。 (导出最新,签入更改并重置svn的地方)
是否有任何提示和窍门让这种情况下一致工作?
我应该有core.safecrlf和core.autocrlf选项设置为true? 看来我会需要一些箍跳。
有关:
看起来行结尾是正确的是一个黑色的艺术。
(我意识到这个问题可能需要扩展,请评论需要扩展的地方)
你是否得到了结束冲突? Git有一些你可以设置的配置属性,它改变了它处理行尾字符的方式。 我有以下设置:
# this makes git NOT attempt to convert line endings on commit and checkout core.autocrlf=false # this makes git check if the conversion done by autocrlf would be reversible # this is probably not required because I do not have autocrlf turned on core.safecrlf=true
请注意,我在窗户上,所有的同事都在窗户上,我通过git-svn与SVN接口。 这些设置似乎为我做了诡计。