Php 面向独立开发人员的Git工作流(Git新手总数)
我已经决定,是时候开始在一个PHP项目上使用Git了,我已经随意开发了十多年。(请不要听版本控制警察的讲座!)由于我的VPS上需要复杂的设置来完成项目所需的一切(特别是单代码库多客户端结构和支持日语的TeX安装来创建专业PDF),因此无法在我的本地Windows box上设置开发环境。但我确实在服务器上有一个可以玩的测试区,所以这是我的开发区。目前,我使用Filezilla访问服务器并将文件直接打开到Notepad++,当我准备好查看我的编辑时,我只需保存并让Filezilla上传。当测试台上的一切看起来都很好时,我将文件复制到生产代码库区域。是的,除了我自己的评论之外,这没有给我任何更改的历史记录,而且我必须小心不要将错误修复与完成了一半的新功能混为一谈。我可以看到Git的分支对于正在进行的不同升级的价值 昨天我把脚趾弄湿了。首先,我创建了一个Github帐户,然后(根据教程的建议)安装了Git For Windows(带有自己的Bash和外观小巧的GUI)和Kdiff3,并按照一些说明配置Git Bash。然而,在这一切之后,为了与我的Github帐户(恰当地命名为Github for Windows)接口,我不得不安装其他东西,这似乎完成了其他两个程序应该为我做的所有事情。无论如何,我第一次进入Github世界时做了一个简单的任务——我在别人的jQuery插件中添加了功能,并想与开发人员共享,所以我分叉了他的repo,将它克隆到我的机器上,重写了我以前编辑和测试过的文件,同步到我的Github帐户,并发送了一个拉取请求。最后一句话中的所有术语对我来说都是全新的,所以我为自己走了这么远而感到自豪但我想我只需要Github软件,而不是Git软件——很难相信有什么教程 不管怎样,现在我想为我自己的东西制定一个工作流程,这是我真正想问你们的问题。据我所知,除了公共Github之外,任何地方都有主回购协议需要花钱,而且我不在乎别人是否看到我的代码(我不希望其他人参与我用意大利面条代码制作的古怪项目,但如果他们愿意,那就太好了)。好吧,那又怎么样?可能是其中一种情况,或者其他情况:Php 面向独立开发人员的Git工作流(Git新手总数),php,git,github,github-for-windows,Php,Git,Github,Github For Windows,我已经决定,是时候开始在一个PHP项目上使用Git了,我已经随意开发了十多年。(请不要听版本控制警察的讲座!)由于我的VPS上需要复杂的设置来完成项目所需的一切(特别是单代码库多客户端结构和支持日语的TeX安装来创建专业PDF),因此无法在我的本地Windows box上设置开发环境。但我确实在服务器上有一个可以玩的测试区,所以这是我的开发区。目前,我使用Filezilla访问服务器并将文件直接打开到Notepad++,当我准备好查看我的编辑时,我只需保存并让Filezilla上传。当测试台上的
- 我不经常使用PuTTY,出于某种原因,连接经常会在我身上消失,我必须重新启动
- 尽管Linux命令行是Git的原生环境,但我可能更习惯于使用GUI(因为我很快就忘记了命令语法——我想是老脑筋吧)
所以请原谅我的新手漫谈,但是如果有人有类似的开发情况,你的工作流程是什么?或者你会给我什么建议?我当然会为你当前的开发设置看看类似的东西 我可以理解为什么您可能对使用终端保持沉默,但这可能有助于您在上下文中理解git。掌握这些命令并不需要很长时间,当您与capistrano这样的系统结合时,您将很快将开发代码与您的环境结合起来:
git commit -a
git push origin develop
cap deploy:dev
在windows上工作时,我通常会尝试使用sun的virtualbox之类的工具在本地复制虚拟机的部署环境。这样,您可以在本地开发的同时最大限度地减少潜在的环境问题。然后,您可以使用putty以ssh方式连接到本地虚拟机。设置虚拟机和主机操作系统之间的共享而且你所有的标准IDE/编辑器也都可以工作。我发现这比远程设置vps更好,但不管什么都可以。你不需要github(或任何其他中央存储)来开始使用git。特别是因为你是一个单独的开发人员。git直接在你自己的机器上运行,没有任何服务器组件(不像
workstation$ cd localWorkingDirectory/
workstation$ git init
workstation$ git add .
workstation$ git commit -m 'initial commit'
workstation$ ssh login@myserver
myserver$ mkdir myrepo.git
myserver$ cd myrepo.git
myserver$ git init --bare
myserver$ exit
workstation$ cd localWorkingDirectory/
workstation$ git remote add origin login@myserver:myrepo.git
workstation$ git push origin master
workstation$ git push origin BRANCH
workstation$ git push origin version2
workstation$ ssh login@myserver
myserver$ git clone path/to/myrepo.git productionDirectory
myserver$ cd productionDirectory
myserver$ git checkout version2
workstation$ ssh login@myserver
myserver$ cd productionDirectory
myserver$ git checkout version1