GIT是Laravel等大型项目的理想解决方案吗?

时间:2017-06-09 04:49:19

标签: php git laravel

当一个团队在Laravel项目上工作时,他们通常会编辑路径文件,相同的控制器和视图。导致成千上万的合并冲突。解决这些问题非常耗时。有没有办法防止这些冲突?。

3 个答案:

答案 0 :(得分:1)

在使用git时几乎每个项目都会发生这种情况,我们都面临着这样的情况,比如处理相同的文件导致合并冲突,但另一方面我们所有的团队成员都在一天结束时有一个同步的代码。另外,为了避免每次拉动中出现多次合并冲突,您可以创建分支,然后将代码推送到各自的分支。这样,只有将这些分支合并到主分支时才会出现合并冲突。我只是认为GIT是项目管理的最佳工具。 如果您不想创建那么多分支,也可以尝试在文件中添加评论部分。

答案 1 :(得分:1)

GIT对于大型项目来说是一个很好的解决方案。但是您必须处理route或任何多个人正在工作的公共文件,以便合并冲突最小。在任何常见文件上创建不同的代码块,如:

/* Block 1 Start */

/* Block 1 End */

/* Block 2 Start */

/* Block 2 End */

并将所有相关功能放在这些块中,以便冲突最小化,当它发生时,很容易解决冲突,因为块被分割。

答案 2 :(得分:1)

什么是git?

Git是一个成熟的,积极维护的开源项目。数量惊人的软件项目依赖于Git进行版本控制,包括商业项目和开源。 Git是DVCS(因此是分布式版本控制系统)的一个例子。而不是只有一个单独的地方用于软件的完整版本历史,这在一般流行的版本控制系统如CVS或Subversion(也称为SVN)中很常见,在Git中,每个开发人员的代码工作副本也是存储库,可以包含所有更改的完整历史记录。

除了分发之外,Git在设计时还考虑了性能,安全性和灵活性。

何时使用git?

例如,假设开发人员Alice对源代码进行了更改,为即将发布的2.0版本添加了一项功能,然后使用描述性消息提交这些更改。然后她开始研究第二个功能并提交这些更改。当然,这些作为版本历史记录中的单独工作存储。然后,Alice切换到同一软件的1.3版分支,以修复仅影响旧版本的错误。这样做的目的是使Alice的团队在2.0版准备好之前发布错误修复版本1.3.1。然后,Alice可以返回到2.0分支继续处理2.0的新功能,所有这些都可以在没有任何网络访问的情况下发生,因此快速可靠。她甚至可以在飞机上做到这一点。当她准备好将所有单独提交的更改发送到远程存储库时,Alice可以在一个命令中“推送”它们。

git 有什么好处?

Git有很多用法和优势,但很少有人可以清楚地了解何时以及为何使用 git

  • Git是一个版本控制系统,或者对于开源项目而言是不稳定的。您可以通过逐步创建版本来控制项目。
  • 如果在更改后引发了问题,则可以在git中恢复以前的版本以忽略所有这些更改和错误。
  • 我们在git上创建一个项目作为origin master,然后在作为团队项目工作时在不同的机器上创建克隆。当我们从不同机器上的不同克隆“推送”我们的更改时,git将所有这些更改合并到一个源主机中。因此,我们无需担心如何在一个项目文件夹中合并来自不同克隆的更改。

如何解决git中的合并冲突?

这可以帮助你了解如何轻松解决git中的合并冲突问题。用于此目的的最佳工具是git-mergetool运行合并冲突解决工具来解决git项目中的合并冲突。

使用git mergetool运行多个合并实用程序之一来解决合并冲突。它通常在git合并之后运行。

如果给出了一个或多个参数,将运行合并工具程序以解决每个文件的差异(跳过那些没有冲突的文件)。指定目录将包括该路径中的所有未解析文件。如果没有指定名称,git mergetool将在每个包含合并冲突的文件上运行合并工具程序。

在git mergetool中备份 git mergetool会在解析合并时创建*.orig个备份文件。合并文件并完成其git mergetool会话后,可以安全删除这些内容。

mergetool.keepBackup配置变量设置为false会导致git mergetool在文件成功合并时自动删除备份。

有关git mergetool的进一步研究,请参阅链接: https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts

我认为这可能对您有所帮助。