使用git从远程存储库获取干净的副本

使用git从远程存储库获取干净的副本,git,Git,我将git与SVN存储库一起使用。我当地的“主”分支有点混乱,每次我做一个git svn rebase我都会遇到各种各样的问题,我和我的同事都无法解决这些问题。那么,有没有一种方法可以让我从远程存储库中获得一个干净的副本,它将覆盖本地分支中的所有更改 你的意思是: git reset --hard trunk 这将使当前分支点位于指定的修订(使用修订重置)和工作树匹配(--hard)。您以前的版本将保留在reflog中,直到git gc90(可配置)天后 请注意,trunk的名称可能会有所不同

我将git与SVN存储库一起使用。我当地的“主”分支有点混乱,每次我做一个
git svn rebase
我都会遇到各种各样的问题,我和我的同事都无法解决这些问题。那么,有没有一种方法可以让我从远程存储库中获得一个干净的副本,它将覆盖本地分支中的所有更改

你的意思是:

git reset --hard trunk
这将使当前分支点位于指定的修订(使用修订重置)和工作树匹配(
--hard
)。您以前的版本将保留在reflog中,直到
git gc
90(可配置)天后


请注意,
trunk
的名称可能会有所不同,因为它取决于您的特定设置(我有
svn/trunk
,但我相信我在初始化git svn时已经定义了
svn/
前缀)。

重置会将所有跟踪文件更改为远程存储库

git reset --hard 
git clean -xdf
Clean-xdf还将清除存储库中所有未跟踪的文件

git reset --hard 
git clean -xdf

这将帮助您创建一个“完整”的干净存储库。

对于迟来的响应表示歉意。那不是我所期望的那样。实际上,它不起作用。它显然做了些什么,但不是我想要的。我只想获取远程SVN存储库中的所有文件和提交,以替换当前的本地git存储库。一种“用所有东西更新我的本地主存储库,不要问我任何问题”。只是覆盖它'的问题是,它一直进入重新基地的地区,它告诉我有锁的文件。我移除锁,添加更改,更新git,然后同样的事情发生了。“我仍然是git的不速之客。”screenm0nkey:这在其他地方是个问题。如果您没有任何本地更改(
git log trunk..
没有显示任何内容),那么问题在于从svn获取,而不是本地更改。重置确实无法修复这些问题。请参阅Kits post上的评论,因为你们都发布了相同的内容。我想;)@screenm0nkey:我们发布了显著不同的东西。我发布了
git reset--hard SOMETHING
trunk
是分支跟踪subversion trunk的默认名称,尽管它的配置可能不同),而他只发布了
git reset--hard
。Just
git reset——hard
只会丢弃未提交的更改,我相信这对您来说是不够的。您需要参数(并且需要检查您的配置,了解
trunk
是否可以使用,或者您需要什么名称)。我想我们需要更多详细信息来帮助您。第一步是,您不必执行git svn rebase,而是分别执行它所做的两件事情。首先,执行
git svn fetch
,然后执行
git rebase trunk
。看看哪些失败了,如何失败,然后告诉我们。