我的工作场所使用Subversion进行源代码控制,所以我一直在尝试使用git-svn来获得我自己分支的优势,在不接触主要代码库的情况下随时提交,等等。
因为我的git svn签出是本地的,所以我也将其克隆到网络共享中作为备份。我的想法是,如果我的桌面出现转储,我至少会在网络共享上拥有存储库,以获得我还没有机会提交的更改。
我的工作流程是在桌面上工作,进行更改,提交,等等。在一天结束时,我想用我当前所有的更改更新网络共享上的存储库。我使用git clone repo_on_my_desktop
在网络共享上设置了存储库,然后使用git pull origin master
更新了网络共享上的存储库。我遇到的问题是,在向主svn存储库提交数据之前,我使用do git rebase
来压缩多个提交。执行此操作时,当我尝试在夜间备份时,网络共享上的存储库上会出现合并冲突。
有没有一种方法可以简单地与我桌面上的存储库完全同步,而不需要每晚做一次新的git clone
?
发布于 2010-05-25 23:54:50
发布于 2010-05-25 23:48:09
如果你打算从另一个repo中拉出,你不应该做rebase。
如果您不介意覆盖网络共享中的更改,则可以执行以下操作:
git fetch origin master
git reset --hard origin/master
这会将本地主机重置为原始主机。
警告:这是一个硬重置,它将丢失您的所有更改(已提交*或未提交)。
但我假设你实际上没有任何更改,而且它主要只是一个备份。
*注意:从技术上讲,提交的更改在reflog过期之前不会丢失,但无论出于何种目的,它们实际上都会丢失。
https://stackoverflow.com/questions/2906130
复制相似问题