2012-01-29 44 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