2014-09-24 63 views
0

這似乎應該是一個共同的問題,但也許我不是在尋找正確的術語。Git拉入現有的項目沒有混帳文件夾

我剛剛使用scp將遠程服務器上的舊項目複製到我的本地計算機。我使用git init創建了一個新的git存儲庫實例,並使用git remote add origin ...在線創建了一個新的遠程git存儲庫,我將其推送到該目錄。這是項目被git跟蹤的第一個實例。

我創建了一個.gitignore文件,所以不是所有的內容都被推送到遠程存儲庫,並且在初始提交後我還推進了一些小的更改。

現在我希望將存儲庫拉到遠程服務器上的原始項目。它顯然沒有.git文件夾。我想要更改,但保留在.gitignore中列出的文件,所以我不能簡單地擦拭目錄並執行一個乾淨的git clone

我只有ssh訪問權限。我如何去做這件事?

+1

我想如果你在原始文件夾中執行'git init',那麼從新創建的回購庫中'git pull',git會自行解決。 – Holloway 2014-09-24 10:42:04

回答

0

好吧,想出了一個方法,使用ssh爲我工作。

將本地項目.git文件夾複製到遠程服務器目錄中的項目。 您可能需要複製到文件夾具有正確的權限然後將git的文件夾

scp /local/path/to/.git [email protected]:/remote/path/to/temp/folder 

更改git的所有權,並將其移動到現有項目目錄

chown -R www-data:www-data .git/ 
mv .git/ /var/www/.... 

執行混帳狀態顯示更改的文件和未跟蹤的文件。在我的情況下,「更改」的文件是我想覆蓋的舊文件,以及我在.gitignore中指定的文件所在的未跟蹤文件。

所以要「恢復」的文件到新版本的分支(存儲在git的文件夾中),而忽略未跟蹤文件,我只是做了

git checkout . 

這也增加了的.gitignore文件,我也必須chown

這是在一個只有一個主分支的項目上進行了測試,但我希望這可以幫助未來的人。我的術語可能會略微描述git過程,但希望每個人都能獲得這張照片。

相關問題