我有一個大型項目,我正在升級到邊緣Rails。我做了整個項目目錄的一個副本,並在那裏重構,以作爲相信git的一項預防措施(或者至少我可能會使用/誤用它)。在完成最讓我回到原來的項目目錄,並在控制檯上工作後(這是從內存,所以是鬆散的基礎上究竟發生了什麼):git錯誤或濫用分支?
git branch edge
git checkout edge
git rm vendor/plugins
git commit -m "wiped out old plugins"
然後我手動的最新版本複製我在複製的項目中更新過的插件。
git add vendor/plugins
git commit -m "re-added in plugins, some unchanged, some later versions"
我的理解是,上面的添加是遞歸的。爲了獲得對git的一些信任,我在工作期間的不同時間在主分支和邊緣分支之間來回交換,以確保它處理交換沒問題。
git checkout master
git checkout edge
我注意到的是(在一些交換後)在邊緣分支中的一些插件恢復到主版本。無數次我試圖提交有問題的插件的最新版本,但最終在交換後恢復。
我懷疑手動移動文件後添加文件的方式可能存在問題。 (是git添加供應商/插件/ *必要的?)當兩個分支包含一些相同的子目錄時,任何人有任何問題與分支之間交換?你如何處理在一個目錄中找到的應用程序副本中找到的更改合併回原始?原始的版本庫是乾淨的,而複製是從試圖獲得某些插件在邊緣分支中保持更改相當混亂。
提到我很欣賞的反饋。我知道我沒有采用git標準的方法,但我仍然是一個git新手,所以想要小心以防我可能執行一個git命令,我並不完全理解並丟失了一堆工作。 – Mario 2009-09-14 13:56:06
既然分支機構很便宜,而且安全,只要你先分支,那麼你可以扔掉你在新分支上做的任何事情,而不用擔心把主分支搞亂了。 – 2009-09-14 18:24:17
不幸的是,即使按照你的步驟,當我嘗試切換回主分支時,也會遇到這種問題: 錯誤:未合併的工作樹文件'vendor/extensions/blog_tags/LICENSE'將被合併覆蓋。 我曾經遇到過這種情況,似乎會造成麻煩。 – Mario 2009-09-15 11:12:19