svn - Git 强制完全同步到 master

标签 svn git git-svn

我的工作场所使用 Subversion 进行源代码控制,所以我一直在使用 git-svn 来获得我自己分支的优势,在不触及主仓库的情况下尽可能频繁地提交,等等。

由于我的 git svn checkout 是本地的,我已将它克隆到网络共享并作为备份。我的想法是,如果我的桌面发生转储,我至少会在网络共享上拥有存储库,以获取我还没有机会提交的更改。

我的工作流程是在桌面上工作、进行更改、提交等。在一天结束时,我想用我当前的所有更改更新网络共享上的存储库。我已经使用 git clone repo_on_my_desktop 在网络共享上设置了 repo,然后使用 git pull origin master 更新了网络共享上的 repo。我遇到的问题是,在提交到主 svn 存储库之前,我使用 git rebase 压缩多个提交。当我这样做时,当我尝试在晚上备份时,网络共享上的存储库出现 merge 冲突。

有没有一种方法可以简单地与我桌面上的存储库完全同步,而无需每晚执行新的 git clone

最佳答案

如果您打算从另一个存储库中提取数据,则不应进行 rebase 。

如果您不介意覆盖网络共享中的更改,您可以这样做:

git fetch origin master
git reset --hard origin/master

这会将本地主机重置为原始主机。

警告:这是一个重置,它将丢失您的所有更改(已提交*或未提交)。

但我假设您实际上没有任何更改,而且主要只是备份。

* 注意:从技术上讲,提交的更改在它们从 reflog 过期之前不会丢失,但就所有意图和目的而言,它们实际上已丢失。

关于svn - Git 强制完全同步到 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906130/

相关文章:

linux - Apache SVN 服务器要求?

java - 关于trunk的svn问题

svn - 从放在 SVN 上的 talend studio 导出 Talend 项目并从 Jenkins 构建它

linux - Docker:从 Win10 安装到运行 ubuntu 的容器的目录中不允许进行 git 操作

git-svn - 使用命令 "git svn clone -s svn+ssh://repo_url"克隆 repo 失败

svn - 是否可以将 "append"修订版从一个颠覆存储库转移到另一个?

Git 将一个分支中的多个提交 rebase 到 master

git - 将 'CVS era' repo 转换为带有子模块的 git repo

git-svn 克隆失败 "fatal: Not a valid object name"

git - SVN 到 GIT 迁移给出错误:No refs in common