首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git强制完全同步到主服务器

Git强制完全同步到主服务器
EN

Stack Overflow用户
提问于 2010-05-25 23:34:51
回答 2查看 36.6K关注 0票数 17

我的工作场所使用Subversion进行源代码控制,所以我一直在尝试使用git-svn来获得我自己分支的优势,在不接触主要代码库的情况下随时提交,等等。

因为我的git svn签出是本地的,所以我也将其克隆到网络共享中作为备份。我的想法是,如果我的桌面出现转储,我至少会在网络共享上拥有存储库,以获得我还没有机会提交的更改。

我的工作流程是在桌面上工作,进行更改,提交,等等。在一天结束时,我想用我当前所有的更改更新网络共享上的存储库。我使用git clone repo_on_my_desktop在网络共享上设置了存储库,然后使用git pull origin master更新了网络共享上的存储库。我遇到的问题是,在向主svn存储库提交数据之前,我使用do git rebase来压缩多个提交。执行此操作时,当我尝试在夜间备份时,网络共享上的存储库上会出现合并冲突。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-25 23:54:50

两条评论:

1/我建议为您的网络共享使用bare repobundle (一个文件,更易于移动

2/我宁愿将network_repo作为遥控器添加到您的桌面存储库并从那里推送(git push --force network_repo master):您可以留在您的工作存储库中。

票数 8
EN

Stack Overflow用户

发布于 2010-05-25 23:48:09

如果你打算从另一个repo中拉出,你不应该做rebase。

如果您不介意覆盖网络共享中的更改,则可以执行以下操作:

代码语言:javascript
运行
复制
git fetch origin master
git reset --hard origin/master

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

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

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

*注意:从技术上讲,提交的更改在reflog过期之前不会丢失,但无论出于何种目的,它们实际上都会丢失。

票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2906130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档