如何将Git集成到一个已启动的项目中

时间:2014-03-04 19:16:16

标签: git git-flow

我目前正在调查Git来管理网站的代码。我总是在本地和生产服务器上工作。我想开始更多地使用Git,我想使用https://www.atlassian.com/git/workflows#!workflow-gitflow

基本上,主分支应该是我在生产服务器上的东西?但在本地,我得到了一些我开始研究的功能,并没有在生产服务器上推送。

有人可以帮我把事情搞定吗?

1 个答案:

答案 0 :(得分:4)

如果到目前为止还没有任何版本控制,请创建一个本地文件夹并将网站文件复制到其中。在该文件夹中运行git init,然后git add .添加所有文件,并git commit -m'Add initial files'(或任何您想要的消息)提交回购邮件的第一个状态。

如果你想在'dev'分支上工作,只需在那里git branch dev创建分支,然后git checkout dev切换到它,或者你可以一次性完成这两个分支使用git checkout -b dev创建新分支并切换到它。现在复制work-in-progress文件夹中的文件,让它覆盖它想要的任何内容。这是你的新项目文件夹。一旦你确定它有效,你可以替换旧的。

此时,您可以使用git diff查看已更新的内容。当你准备提交你的更改时(你应该经常这样做;我喜欢提交每个逻辑更改,比如添加功能,修复问题,重构某些名称等),添加并提交它们。如果要将dev合并到master中,只需要git checkout master切换,然后git merge dev合并到dev中。然后你可以git checkout dev然后回到开发阶段。

由于你是独自工作,你可能只在dev的master上有一组更改,所以git会进行快进合并,这基本上只是将主标签移动到dev所在的位置,而不是实际创建合并。如果要创建合并,请为提交调用提供--no-ff标志(不用快进)。

在进入git流程之前,您应该阅读Git Pro book,尤其是branching and merging上的第3章。您需要找出一种部署方法 - 它可能只是rsync。将服务器上的repo副本签出到master上的最新提交是一个坏主意。 Git is not a deployment tool。最好以最适合您的方式从主站复制到站点。