昨天我浅尝辄止。首先我创建了一个Github账户,然后(根据教程的建议)安装了Git For Windows(带有自己的Bash和微小的GUI)和Kdiff3,并按照一些配置Git Bash的说明进行操作。尽管如此,我最终还是不得不安装另一个与我的Github账户进行接口的工具(名为Github for Windows),它似乎可以为我完成其他两个程序应该完成的所有事情。无论如何,然后我做了一项简单的任务作为我进入Github世界的第一步 - 我已经为别人的jQuery插件添加了功能,并希望与开发人员共享,所以我forked 他的repo,在我的机器上cloned它,覆盖了我之前编辑和测试过的文件,synced到我的Github账户,并发送了一个pull request。最后一句话中的所有术语都是全新的,所以我对自己能够走到这一步感到非常自豪。;)但我想我只需要Github软件,而不是Git软件 - 很难知道哪些教程是可信的。
无论如何,现在我想找出自己的工作流程,这是我真正的问题。据我所知,除了公共Github以外,将主要repo放在任何地方都需要支付费用,而我并不在乎别人是否看到我的代码(我不指望任何人能够在我的意大利面条代码的奇怪项目上工作,但如果他们愿意,那太好了)。好吧,那么接下来呢?也许是以下其中一种情况,或其他:
将代码库的分支克隆到本地电脑,对本地文件进行编辑,然后在 Filezilla 中上传文件进行测试(比我的当前工作流程多了几个点击,因为Filezilla不能自动识别本地文件和远程文件之间的关系,但这不是什么大问题)。当我满意代码时,在本地提交,同步到Github,然后从某个位置(不确定)复制文件到生产区域。
在我的VPS上安装Linux版Git,以便“本地” Git 文件位置是测试环境,并使用PuTTY通过Git进行本地提交。文件结构更简单(根本不需要在我的PC上拷贝任何内容),但使用Git会更加繁琐:
- 我并不经常使用PuTTY,而且由于某种原因,连接经常中断,我不得不重新启动。
- 尽管Linux命令行是Git的天然栖息地,但我可能更习惯图形界面(因为我很快就会忘记命令语法——或许是因为我的大脑年纪大了)。
此外,由于我从未使用过在此处安装的Git程序,我不确定我是否要在服务器上使用Git还是Github。
其他一些情况,因为 #1 或 #2 都没有使用Git/Github 来管理生产文件区域,这可能是一个不错的想法,以免遗漏需要复制的任何内容。
我试图研究基于PHP的GUI与想法#2配套使用(因此我不必在日常操作中使用PuTTY),但似乎关于这种工具的讨论都假设您要创建自己的Github服务,或者“本地”克隆的存储库实际上位于本地PC上(在运行任何操作系统的xAMP上)。但也许我使用的Github软件已经足够完成所有这些 - 很难说。我还不了解Github上主要公共存储库、某处的分支(也在Github上?)、至少两组文件在我的Web服务器上(测试环境和生产区域)、Github软件、Git软件以及我坐在电脑前键盘/屏幕之间的相互作用。
所以请原谅我的新手胡言乱语,但如果有人有类似的开发情况,请问你们的工作流程是什么?或者你会为我提供什么建议?