How to resolve Git merge conflicts
Suppose you and I are co-editing the same file named index.html
. I made changes to the file, committed it, and pushed the changes to the Git remote repository. You also made changes to the same file, made a commit, and started pushing changes to the same Git repository. However, Git detected a conflict because the changes you made conflict with the changes I made.
Here's how you can resolve conflicts:
1. Get and merge the latest changes from the remote repository:
$ git pull
2. Identify one or more conflicting files :
$ git status
3. Use a text editor to open the conflict file:
$ vim index.html
4. Resolve the conflict. Conflicting modifications will be marked <<<<<<< HEAD
and . You need to choose which changes to keep and discard, and manually edit the file to merge conflicting changes.
Here is an example:
<<<<<<< HEAD<div ><h1>Sample text 1</h1></div>=======<div ><h1>Sample text 2</h1></div>>>>>>>> feature-branch
In this example, I changed the website title to Sample text 1
, and you changed the title to Sample text 2
. Both changes have been added to the file. Now you can decide which header to keep, or edit the file to merge the changes. In either case, remove the markers indicating the beginning and end of the changes, leaving just the code you want:
<div ><h1>Sample text 2</h1></div>
5. Save all changes, and close the editor.
6. Add files to the staging area:
$ git add index.html
7. Submit changes:
$ git commit -m "Updated h1 in index.html"
This command uses the message Resolved merge conflict
Submit changes .
8. Push changes to the remote repository:
$ git push
Conclusion
Merge conflicts are a good reason to focus on the code. The more changes you make in a file, the easier it is to create conflicts. You should make more commits and each commit should change less. You should avoid making monolithic huge changes that include multiple feature enhancements or bug fixes. Your project manager will thank you, too, because commits with clear intent are easier to track. It might be scary when you first encounter a Git merge conflict, but now that you know how to resolve it, you'll find that resolving it is easy.
The above is the detailed content of How to resolve Git merge conflicts. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



To delete a Git repository, follow these steps: Confirm the repository you want to delete. Local deletion of repository: Use the rm -rf command to delete its folder. Remotely delete a warehouse: Navigate to the warehouse settings, find the "Delete Warehouse" option, and confirm the operation.

Connecting a Git server to the public network includes five steps: 1. Set up the public IP address; 2. Open the firewall port (22, 9418, 80/443); 3. Configure SSH access (generate key pairs, create users); 4. Configure HTTP/HTTPS access (install servers, configure permissions); 5. Test the connection (using SSH client or Git commands).

Code conflict refers to a conflict that occurs when multiple developers modify the same piece of code and cause Git to merge without automatically selecting changes. The resolution steps include: Open the conflicting file and find out the conflicting code. Merge the code manually and copy the changes you want to keep into the conflict marker. Delete the conflict mark. Save and submit changes.

Git Commit is a command that records file changes to a Git repository to save a snapshot of the current state of the project. How to use it is as follows: Add changes to the temporary storage area Write a concise and informative submission message to save and exit the submission message to complete the submission optionally: Add a signature for the submission Use git log to view the submission content

git rebase is used to reapply commits to a new baseline to clean up history or relocate branches. How to use: Create a target branch Select the commit to be reapplied and execute the git rebase command, specify the target branch and commit scope to resolve conflicts, continue to reapply the remaining commit verification changes.

To submit an empty folder in Git, just follow the following steps: 1. Create an empty folder; 2. Add the folder to the staging area; 3. Submit changes and enter a commit message; 4. (Optional) Push the changes to the remote repository. Note: The name of an empty folder cannot start with . If the folder already exists, you need to use git add --force to add.

In order to securely connect to a remote Git server, an SSH key containing both public and private keys needs to be generated. The steps to generate an SSH key are as follows: Open the terminal and enter the command ssh-keygen -t rsa -b 4096. Select the key saving location. Enter a password phrase to protect the private key. Copy the public key to the remote server. Save the private key properly because it is the credentials for accessing the account.

To detect SSH through Git, you need to perform the following steps: Generate an SSH key pair. Add the public key to the Git server. Configure Git to use SSH. Test the SSH connection. Solve possible problems according to actual conditions.
