我看到這已被問了很多次,通常有不同的警告。在我的例子中,我使用git從我的本地開發框部署到git服務器,最後,通過cron作業將更改發佈到Web服務器上。git pull和虛假的本地變化
我的工作流程是這樣的:
- 提交更改到本地工作副本
- 更改推到上游服務器在網絡上
git pull -Xingore-space-at-eol
(作爲裸回購協議,我把我的本地創建)服務器
理論上這應該起作用。但是,git拒絕這樣做,似乎隨機選擇了它認爲有局部變化的文件。
Updating bb48022..7eff182
error: Your local changes to the following files would be overwritten by merge:
app/models/User.php
Please, commit your changes or stash them before you can merge.
Aborting
在Web服務器上,我執行了一些文件更改 - 我添加了未跟蹤的文件,並且我更改了權限。 git配置爲filemode = false
,我也使用git config --global core.autocrlf true
啓用自動CRLF處理。
git diff --ignore-space-at-eol
返回沒有差異。 git status
顯示了大約十幾個「未進行提交的更改」,但這些文件並沒有真正以我能注意到的任何方式進行更改。
我試圖與
git stash
git pull
git stash pop
積攢錯誤的局部變化,但它不能只是在同一git pull
我只在這一點上的工作選項吹走整個克隆的文件夾,並做了每次新鮮克隆,然後申請許可變更,並做一個composer install
我必須在這裏丟失一個基本的概念。任何幫助是極大的讚賞!
你是什麼意思,他們「沒有改變,你可以注意到的任何方式」?他們如何改變?空白?向我們展示你的'.gitattributes'文件? –