2015-12-06 259 views
2

我正在使用backup software,通過編輯索引而不是更新工作目錄中的文件直接提交到裸存儲庫。Git:如何重新綁定裸回購

我想提交到github上的倉庫,所以我已經將我的倉庫克隆爲裸倉庫,並將備份工具指向它。它創建提交就好,只要回購沒有改變上游,我就可以推送給github。

如果回購確實有上游變化,git不會因爲合併衝突而讓我推,但是我也無法提取/重新分配,因爲裸存儲庫沒有工作目錄來處理更改。

我能找到的所有東西基本上都表明我應該克隆回購庫,以便它有一個工作樹,但是我使用的軟件限制了我的能力。我試過了,當它指向一個裸倉庫時,它所做的更改沒有顯示在工作目錄中,所以git感到困惑並且認爲文件丟失。

希望有人比我更瞭解這點。謝謝!

回答

0

,所以你不能做一個拉...但也許你可以使用「取」

還..爲什麼會有上游的變化?您的備份軟件是唯一提交回購的提交者嗎?

0

我遇到了類似的問題與GitHub。我克隆了一個GitHub倉庫到當地裸倉庫。我用它作爲當地發展的中心回購。同時,我無意中使用了#* @ $ GitHub自述文件編輯器。那麼......這意味着GitHub回購下了一條路,我當地的裸回購下了另一條。和你一樣,我無法將README.md更改合併到我的裸回購庫中,因爲它沒有工作文件夾來執行合併。

爲了解決這個問題,我只是偶然發現了更多的回購。我必須重新登錄GitHub倉庫,在我的本地環境中添加第二個遠程倉庫,執行合併,推入混帳,然後重新創建所有本地倉庫。我確信有一個更簡單的方法,但我想要小心。它是這樣的:

git clone [email protected]:moodboom/quick-http.git quick-http-with-readme-conflict 
git remote add local ../quick-http 
git fetch local 
git merge local/master # merge in changes, likely trivial 
git push # pushes back to github 
cd .. 
mv quick-http.git quick-http.git__out-of-sync 
git clone [email protected]:moodboom/quick-http.git --bare 
cp quick-http.git__out-of-sync/config quick-http.git/ 

A [--bare]克隆不會設置遠程對你來說,這就是爲什麼我複製了舊的配置回原位。

我真的不喜歡GitHub的README.md編輯器! :-)

最後一個思想,這聽起來像一個壞主意...

使得通過在工作目錄中編輯的索引,而不是更新文件直接承諾裸倉庫