2012-01-29 35 views
0

我将我的vim配置文件保存在github上,以使它们在多台机器上同步。偶尔有一段时间我使用一台我一段时间没用过的机器,而vim文件却不同步。如果我只是什么是将过时的git目录同步到远程的最佳方式?

git pull 

从远程因为旧的文件(或重命名的文件)不是在官方远程原地不动了目前的目录变得混乱。所以我通常会做的就是删除所有内容并从头开始编译clone。

这是最好的方法吗?理想情况下,我想有一个命令

git xxx 

其删除/取代一切使得远程

+1

合并时,Git将删除从合并分支中删除的文件。不过,它不会触及任何以前从未见过的文件。所以也许你的目录_remains_凌乱而不是_ messy_凌乱? – Thomas 2012-01-29 11:51:15

+0

@Thomas我明白你的意思,但问题是,在我回到一台机器后,我很久没有用过了,我不想花时间去理解我在那个目录下做了什么,我只是想在我看到的远程 – gws 2012-01-29 11:58:10

+0

上将其同步到我的“官方”状态,因此存在未提交的更改。回答:) :) – Thomas 2012-01-29 11:59:38

回答

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

哪里origin是远程,和master是要在远程分支完美复制您的本地工作副本与之同步。请注意,这些命令会用远程状态替换任何本地文件(包括更改)。这意味着将不存在合并冲突。它模仿你的删除和重新制作工作流程。

1

git pull将合并上游的变化。然后键入git reset --hard以将所有修改后的文件恢复到其存在于HEAD中的版本。

存在合并冲突的风险。亚历山大的回答避免了这些。

这不会删除Git未知的任何文件。为此,留言git clean

+0

感谢您的GIT干净的提示,我想知道它 – gws 2012-01-29 14:06:22

相关问题