我将我的vim配置文件保存在github上,以使它们在多台机器上同步。偶尔有一段时间我使用一台我一段时间没用过的机器,而vim文件却不同步。如果我只是什么是将过时的git目录同步到远程的最佳方式?
git pull
从远程因为旧的文件(或重命名的文件)不是在官方远程原地不动了目前的目录变得混乱。所以我通常会做的就是删除所有内容并从头开始编译clone。
这是最好的方法吗?理想情况下,我想有一个命令
git xxx
其删除/取代一切使得远程
我将我的vim配置文件保存在github上,以使它们在多台机器上同步。偶尔有一段时间我使用一台我一段时间没用过的机器,而vim文件却不同步。如果我只是什么是将过时的git目录同步到远程的最佳方式?
git pull
从远程因为旧的文件(或重命名的文件)不是在官方远程原地不动了目前的目录变得混乱。所以我通常会做的就是删除所有内容并从头开始编译clone。
这是最好的方法吗?理想情况下,我想有一个命令
git xxx
其删除/取代一切使得远程
git fetch origin
git reset --hard origin/master
哪里origin
是远程,和master
是要在远程分支完美复制您的本地工作副本与之同步。请注意,这些命令会用远程状态替换任何本地文件(包括更改)。这意味着将不存在合并冲突。它模仿你的删除和重新制作工作流程。
git pull
将合并上游的变化。然后键入git reset --hard
以将所有修改后的文件恢复到其存在于HEAD中的版本。
存在合并冲突的风险。亚历山大的回答避免了这些。
这不会删除Git未知的任何文件。为此,留言git clean
。
感谢您的GIT干净的提示,我想知道它 – gws 2012-01-29 14:06:22
合并时,Git将删除从合并分支中删除的文件。不过,它不会触及任何以前从未见过的文件。所以也许你的目录_remains_凌乱而不是_ messy_凌乱? – Thomas 2012-01-29 11:51:15
@Thomas我明白你的意思,但问题是,在我回到一台机器后,我很久没有用过了,我不想花时间去理解我在那个目录下做了什么,我只是想在我看到的远程 – gws 2012-01-29 11:58:10
上将其同步到我的“官方”状态,因此存在未提交的更改。回答:) :) – Thomas 2012-01-29 11:59:38