Get started with Shift in three simple steps.
Tricks for working through your Shift quickly.
Tips on how to keep your project upgradable.
How to resolve composer package incompatibilities.
Automate Shift to run continuously on your projects.
Configure Shifts behavior by adding a .shiftrc file.
Now that you've run your Shift here are a few tips to help you Shift like a pro.
First, let's get familiar with the different types of comments within the Pull Request Shift created.
Similar to logging, there are three levels: info, warning, and error. Each are marked by emojis.
info comments note upgrade steps often unrelated to code. For example, system dependencies, deployment steps, or information about new features.
warning comments flag code or features you may wish to review. These are often changes that simply need a human eye.
error comments flag changes Shift could not automate. You will need to make these changes to complete your upgrade.
In the end, you must review the error comments. You should review the warning comments, and you may review the info comments.
The next common item in the Pull Request deals with files that Shift could not reliably upgrade and wants you to compare to the latest version.
Anytime you see these comments, you should download the sample project.
If you plan on running another Shift to upgrade your project, you can simply copy over your versions in a separate commit.
Doing so allows you to re-add your customizations at the end instead after each Shift. This not only saves time, but will also improves the automation in future Shifts.
Once you're done running Shift, you can compare these files with the originals in your favorite editor and merge any changes.
Finally, when you're ready to run
composer, it's often best to remove the vendor folder as well as the
composer.lock file. This ensures you are getting the latest dependencies when you run
If you encounter any incompatibilities with your dependencies, you can run
composer require package/name to get the latest version. Be sure to check if there are any additional upgrade steps required by the package.
While these tips will help you work through Shifts quickly, it is best to still work through each one. Shift intentionally separates the upgrades between versions to improve context and focus. This helps avoid a big upgraded mess.
Sign in with any of the following services to connect Shift with your Laravel project.
Don't use one of these services?
Temporarily push your project to a free, private repository on one of these cloud-based services or upgrade your project locally with Shift for Docker.