Kamga Simo Junior
Kamga Simo Junior

Reputation: 1741

Is GIT a good solution for large projects like Laravel?

When a team work on a Laravel project, they usually edit route file, the same controllers and views. Resulting in thousands of merging conflicts. And resolving them is time consuming. Is there a way of preventing these conflicts?.

Upvotes: 2

Views: 511

Answers (3)

Syed Aqeel
Syed Aqeel

Reputation: 1009

What is git?

Git is a mature, actively maintained open source project. A staggering number of software projects rely on Git for version control, including commercial projects as well as open source. Git is an example of a DVCS (hence Distributed Version Control System). Rather than having only one single place for the full version history of the software as is common in the once-popular version control systems like CVS or Subversion (also known as SVN), in Git, every developer's working copy of the code is also a repository that can contain the full history of all changes.

In addition to being distributed, Git has been designed with performance, security and flexibility in mind.

When to use git?

For example, say a developer, Alice, makes changes to source code, adding a feature for the upcoming 2.0 release, then commits those changes with descriptive messages. She then works on a second feature and commits those changes too. Naturally, these are stored as separate pieces of work in the version history. Alice then switches to the version 1.3 branch of the same software to fix a bug that affects only that older version. The purpose of this is to enable the Alice's team to ship a bug fix release, version 1.3.1, before version 2.0 is ready. Alice can then return to the 2.0 branch to continue working on new features for 2.0 and all of this can occur without any network access and is therefore fast and reliable. She could even do it on an airplane. When she is ready to send all of the individually committed changes to the remote repository, Alice can "push" them in one command.

What are the advantages of git?

Git has a lot of usage and advantage but few are below that may clear to you when and why to use git

  • Git is a version control system or stagging for open source project. You can control your project by creating version step by step.
  • If an issue has been aroused after changes it is possible in git to restore a previous version to ignore all those changes and bugs.
  • We create a project on git as origin master and then make clones in different machines when working as a team project. When we 'push' our changes from different clones on different machines git merge all those changes in one origin master. So we don't need to bother about how to merge changes from different clones in one project folder.

How to resolve merge conflicts in git?

May this be help full to you to understand how to solve easily merges conflicts problem in git. The best tool for this purpose is git-mergetool Run merge conflict resolution tools to resolve merge conflicts in git projects.

Use git mergetool to run one of several merge utilities to resolve merge conflicts. It is typically run after git merges.

If one or more parameters are given, the merge tool program will be run to resolve differences on each file (skipping those without conflicts). Specifying a directory will include all unresolved files in that path. If no names are specified, git mergetool will run the merge tool program on every file with merge conflicts.

Backup in git mergetool git mergetool creates *.orig backup files while resolving merges. These are safe to remove once a file has been merged and its git mergetool session has completed.

Setting the mergetool.keepBackup configuration variable to false causes git mergetool to automatically remove the backup as files are successfully merged.

For further study about git mergetool please see the link: https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts

I think this may be helpful to you.

Upvotes: 2

Rahul
Rahul

Reputation: 2474

It happens in almost every project when using git , we all face these situations like working on same files which result in merge conflicts but on the other hand we all team members have a synced code at the end of the day. Also as an alternative to avoid multiple merge conflicts in each pull , you can make your branches and then push your code to your respective branches. In this way there will be merge conflict only when you merge these branches to your main branch. This is just my opinion that GIT is the best tool when it comes to project management. You could also try adding comments section in your file if you don't want to create that many branches.

Upvotes: 1

Mayank Pandeyz
Mayank Pandeyz

Reputation: 26258

Yes GIT is a good solution for a large project. But you have to deal the route or any common file on which more than one person is working so that the merge conflict are minimum. On any common file make different code block like:

/* Block 1 Start */

/* Block 1 End */

/* Block 2 Start */

/* Block 2 End */

and put all the related functionality inside these blocks, so that the conflict are minimum and when it occurs, it is easy to resolve the conflict as the blocks are divided.

Upvotes: 2

Related Questions