遵循逻辑项目的最佳方法是什么,有一个项目,有时会对其文件进行更改,但它们很少或并非很少进行,以至于无法跟踪所有内容,因此,他们求助于比较文件(依次)或从 FTP 下载文件并与本地版本比较。
问题是从一个项目的逻辑角度来看,使用 GIT 的最佳和最简单的方法是什么?
遵循逻辑项目的最佳方法是什么,有一个项目,有时会对其文件进行更改,但它们很少或并非很少进行,以至于无法跟踪所有内容,因此,他们求助于比较文件(依次)或从 FTP 下载文件并与本地版本比较。
问题是从一个项目的逻辑角度来看,使用 GIT 的最佳和最简单的方法是什么?
软件项目缺乏代码版本控制会导致时间浪费和问题。
每次复制整个项目,手动描述版本是漫长而费力的。它不仅会占用您硬盘上的太多空间,而且对版本感到困惑并使用存在很多错误的中间未完成版本而不是保存的正确版本也就不足为奇了。如果您随后可以快速回滚到正确的版本,那就太好了,但是在某些情况下,在将内容整理到存档中时,唯一具有最新发展的正确副本会被删除。
现在让我们加上这一切,你有 3-4 个开发人员,每个人都相距甚远,每个人都有自己的档案,每个人都可以根据不同的版本上传自己的代码!
欢迎来到真正的噩梦,有人纠正的错误会回来!
怎么会是正确的?
不管你有什么样的项目,改变的频率是多少,重要的是它的存在,丢失或破坏代码是不可接受的风险。
由于所有更改实际上都保存在您的机器上,并且实际上所有 GIT 更改都只添加到存储库中,因此很难丢失一些东西。如果您将修改后的文件保存到存储库,那么它始终可以恢复到当前状态。如果您使用 git push 命令将存储库保存到远程服务器,则丢失文件的概率趋于零。
提升本地 Git 服务器(您甚至可以使用 Web 界面,如 gitlab)或使用可能具有私有存储库的服务,将所有代码上传到此存储库作为主分支的主要提交,不包括所有可能的临时文件和配置使用 .gitignore的文件。如果您使用最简单和最常见的工作流程,则从master创建一个开发分支并在那里进行新的更改,一旦测试了此分支的更改,然后将开发分支与master合并并向服务器发送提交。
理想情况下,您可以完全阻止开发人员提交到 master,并使其只有一个人可以将 master 与另一个分支合并,并相应地向生产服务器推出更改。
接下来,您需要以某种方式将其全部上传到服务器。碰巧他们首先在 Web 服务器上生成一个密钥,用 git 将其作为部署密钥添加到服务器,然后将 git 放在 Web 服务器上,克隆项目,如果需要更改,只需执行 git pull 即可获取更改通过执行额外的手动组装步骤从分支。
首先,当然,你可以试试这个,但这是错误的,构建服务器(例如,Jenkins 或 Gitlab CI)应该参与构建,它会监控 Git 中的变化,克隆它,更新它,运行测试,如果构建成功,将代码(部署)上传到正在运行的服务器。
如何跟踪更改
在 Git 中,您可以使用 Web 界面或命令行来查看:谁、何时、什么时间、出于什么目的对文件进行了更改,并在必要时将其回滚。Git 中的所有更改都必须有作者和消息。
Git 指南