2016-11-16 122 views
0

我已經爲我們的公司中使用的單個頁面應用程序創建了一個框架,以便引導我們的其他項目。將更改推回到用於引導新項目的拉出的存儲庫

這個骨架有它自己的存儲庫,當我們需要處理它時,我們會將它拉出來。

有時我會注意到它可以被改進,因此我對它進行了更改,然後將這些更改從包含使用骨架的項目的文件夾複製到包含骨架git存儲庫的文件夾中,進行提交併將所有內容遠程回購。

我能想到Laravel正在做什麼。例如,作爲一名Laravel開發人員,我可以拉動Laravel存儲庫,以便開始一個新項目的工作,但是後來我注意到有些事情我可以修復。

我的工作流看起來效率不高。有沒有更好的方法來做到這一點?

回答

1

你應該在Git中使用分支,因爲這是Git做得很好的一件事情。您可以從skeleton創建一個新分支,而不是在單獨的文件夾位置工作,並在那裏進行改進。

git checkout skeleton 
git checkout -b feature 
# make your improvements 
git commit -m 'improvements made' 
git push origin feature 

既然您的功能分支位於遠程存儲庫中,您的同事可以查看它。在此之後,該分會將合併回skeleton。如果您正在使用GitHub或BitBucket等回購協議,則此過程有點自動化。

+0

但是新項目可能有很多其他的東西,我不需要在原始的骨架庫中。我應該使用'.gitignore'文件忽略這些新文件嗎?那麼作爲骨架回購的一部分,但不應該被推回的文件呢? (如Laravel中的'routes.php'文件) – siannone

+0

如果您不需要在'skeleton'中進行這樣的更改,則不要合併功能分支並將其保留爲並行版本的'skeleton'。至於'routes.php',是的,你可以將這個文件添加到'.gitignore'中,如果它實際上不是你實際源代碼的一部分的話。庫文件和二進制文件也是如此。 –

+0

有道理,將對此做一點實驗,也會「窺探」Laravel正在做的事情。謝謝。 – siannone

相關問題