2011-11-06 33 views
1

我是一個總的初來乍到GIT和信息庫,所以我遇到了一個問題,不知道我做錯了什麼GIT不commiting改變

我不知道如果我做錯了,但我沒有以下

  1. 我克隆GIT回購到我的標誌機
  2. 我通過vim的做了一些修改服務器本身,看看有什麼我想要做的實際工作,這沒有工作「這大概是我的錯誤是「
  3. 我做了一個git pull在我本地回購以確保我有所有最新的提交
  4. 然後我在本地做了我的更改,通過本地git status它顯示我有兩個文件已被修改。於是我試着git push推我改變了,這說明我的地方已經是最新的
  5. 然後我承諾我的文件在本地git的承諾,然後混帳推,現在git push真的做到了,
  6. 當我登錄到服務器做了一個git status,它向我展示了2個文件修改後,然後我去了git log這表明我的本地提交,然後我重新提交文件服務器端,我的更改沒有生效。
  7. 我在做了git reset --hard HEAD但是我的變化沒有顯示,

我在做什麼錯?

+0

您是否在推送之前提交了更改? – NARKOZ

+0

@Narkoz - 蒂亞第一次我沒有,第二次嘗試我做了 – Roland

回答

1

這聽起來像是你推着一個附帶工作樹的倉庫。爲避免出現問題,最好只推送裸露的存儲庫,這些存儲庫使用git clone --bare(或同等產品)創建。

如果您推送到非裸回購,無論如何,您將不得不在服務器上執行以下命令。這將失去全部本地(未提交)更改。

git reset --hard HEAD 
git checkout -f 
0

您必須將您的更改添加到索引,然後提交它們。

git add modified_file 
git add other_file 
git commit -m "message" 

使用該指數的構建下一個提交能夠做這樣的事情只會增加一些在修改的文件中的變化(見混帳貴的舞臺大塊菜單選項)。一旦索引有一組正確的修改,然後git commit形成一個承諾。 git push用於發送您的存儲庫包含的不在上游存儲庫中的提交。所以如果你的本地沒有新的提交,那麼什麼都不會做。