2016-11-16 31 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

相关问题