每當我做的經典套路:推送操作忽略加入通過GIT中克隆預計,目錄
git add -A
git commit -am "foo"
git push remote branch
Git不會上傳通過git clone
命令添加的文件。
例如,我從github中克隆了一個小項目,並將它作爲模塊加入到我的項目中。但是當我通過git將它部署到服務器時,它只上傳目錄(文件夾),但沒有任何內容,文件夾是空的。
我該如何解決這個問題,爲什麼會發生這種情況?
每當我做的經典套路:推送操作忽略加入通過GIT中克隆預計,目錄
git add -A
git commit -am "foo"
git push remote branch
Git不會上傳通過git clone
命令添加的文件。
例如,我從github中克隆了一個小項目,並將它作爲模塊加入到我的項目中。但是當我通過git將它部署到服務器時,它只上傳目錄(文件夾),但沒有任何內容,文件夾是空的。
我該如何解決這個問題,爲什麼會發生這種情況?
如果你在一個git倉庫中並且克隆另一個git倉庫,git會在從父倉庫添加東西時忽略裏面的那個。
基本上git會檢查每個添加的文件夾裏面是否有.git
文件夾。如果從子克隆文件夾中刪除.git
文件夾,則可以正常添加該文件夾,就像手動複製文件一樣
如何解決此問題取決於您想要的內容。你想跟蹤這個亞克隆的回購,並能夠拉動和更新嗎?如果是,那麼你需要看看git submodules。如果沒有,只需克隆它,rm -rf .git
然後添加文件夾。 但是,這兩個選項當然相當糟糕。您應該考慮使用依賴管理工具(例如cocoapods,npm等)
您是否有gitinore文件導致您的dir被忽略?當您添加-A時,dir及其文件是否顯示爲已上演? – DavidN
等一下,你是否在你現有的本地回購中克隆了另一個回購?如果是這樣,git忽略它們。在這種情況下你可以使用子模塊。 – DavidN
@DavidN沒有'.gitignore'文件。當我使用'git add -A && git status'時,我記得這兩個目錄是紅色的,並且有'(修改過的)'sufix,而其他的則是綠色的。 – Kunok