首先确保本地已安装Git(若未安装,可通过sudo apt-get update && sudo apt-get install git安装)。使用git clone <repository-url>将GitLab仓库克隆到本地,然后通过cd <project-name>进入项目目录。
在开始工作前,务必将本地分支与远程分支同步,避免因远程有更新而导致冲突。使用git pull origin <branch-name>拉取远程分支的最新代码(如git pull origin main)。
为避免直接修改主分支(如main),建议创建新分支进行更改。使用git checkout -b <new-branch-name>创建并切换到新分支(如git checkout -b feature/login)。
在新分支上进行代码修改,完成后使用git add .添加所有更改(或git add <file-name>添加指定文件),再通过git commit -m "Your commit message"提交更改。
将本地分支推送到GitLab远程仓库,使用git push origin <new-branch-name>(如git push origin feature/login)。
冲突通常发生在合并分支(如git merge)或推送代码(如git push)时,Git会提示冲突文件。以下是具体解决流程:
使用git status查看哪些文件存在冲突,Git会将冲突文件标记为“both modified”。
打开发生冲突的文件,会看到Git插入的冲突标记,格式如下:
<<<<<<< HEAD
你的本地更改
=======
远程分支的更改(或其他分支的更改)
>>>>>>> branch-name
<<<<<<< HEAD:表示本地分支的最新提交。=======:分隔符,上方是本地更改,下方是远程更改。>>>>>>> branch-name:表示远程分支的名称(如main)。<<<<<<<、=======、>>>>>>>)。解决所有冲突后,使用git add <resolved-file>将解决后的文件添加到暂存区(如git add login.js),或使用git add .添加所有解决后的文件。
使用git commit -m "Resolved merge conflicts"提交合并后的更改,提交信息需明确说明解决了哪些冲突。
将解决冲突后的分支推送到远程仓库,使用git push origin <new-branch-name>(如git push origin feature/login)。
若不想在本地解决冲突,可直接通过GitLab Web界面操作:
git stash备份本地未提交的更改,避免丢失。通过以上步骤,可在Linux环境下有效解决GitLab冲突,确保代码合并顺利进行。