我一直在用Git完成所有工作并推送到GitHub.我对软件和网站都非常满意,我不想在此时改变我的工作方式.
我的博士生顾问要求所有学生将他们的工作保存在大学托管的SVN存储库中.我已经找到大量关于将现有SVN存储库下载到Git中的文档和教程,但没有关于将Git存储库推送到新的SVN存储库.我希望必须有一些方法来实现这一点,结合使用git-svn和一个新的分支和变基和所有那些精彩的术语,但我是一个Git新手,并且对它们中的任何一个都没有信心.
然后我想在我选择时运行几个命令将提交推送到该SVN存储库.我希望继续使用Git,只是拥有SVN存储库镜像Git中的内容.
如果这有任何不同,我将是唯一一个承诺进入SVN的人.
安装msysgit时,安装程序会显示与系统路径相关的3个选项:
永远不要改变Windows环境.使用此选项,您必须使用"bash"shell来使用git.
将git\bin目录添加到PATH环境变量,但不覆盖一些内置的Windows工具.stackoverflow-ian Gabe Moothart 在评论中告诉我,这个选项会让一些git操作失败!这些操作是什么?我应该担心吗?
与2相同但覆盖一些默认系统工具.这些工具是什么?窗户的哪些部分依赖于它们?这会伤到实践吗?
我想到了另一个问题,与系统PATH无关.
如果我的项目目录中有符号链接和硬链接怎么办?git知道如何处理这些吗?或者,它是否会遭受无限递归,如果说,目录结构是这样的,某些文件夹实际上是其父亲之一的符号链接?
基本上我想在没有推动它们而不切换分支的情况下进行我的更改.这允许我做一些工作,commit当我处于一个良好的停止点,然后继续在同一分支工作.如果我陷入困境,我可以revert,如果我添加新的更改,我可以commit再次.
我意识到我可以在SVN中创建一个功能分支来跟踪这些变化,但同样,我希望在保持同一分支/主干的同时这样做.即使相当于git stash已经足够了,虽然看起来SVN没有那个功能.
我正在尝试在 Ubuntu 18.04.1 LTS 上将 SVN 迁移到 Git。我已经安装了 git:
sudo apt-get install git-core
Run Code Online (Sandbox Code Playgroud)
其中似乎不包含 git-svn。我试过:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
然后:
sudo apt-get install git-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package git-svn is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'git-svn' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
我也尝试过git-svn 不是 git 命令?:
sudo add-apt-repository ppa:git-core/ppa …Run Code Online (Sandbox Code Playgroud)