我从GitLab存储库中推送了最新的代码。这些变化来自我的本地开发机器。我已经使用以下命令成功地完成了它:
git push
将我的最新更改推送到我的GitLab存储库。现在我在服务器上提取了更新,但不幸的是,由于我从服务器上提交了未提交的更改,所以没有成功完成。
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .htaccess
modified: composer.json
modified: composer.lock
Untracked files:
(use "git add <file>..." to include in what will be committed)
php.ini
php_errorlog
这些更改使我的git pull失败,因此需要在从GitLab存储库中提取更新之前先提交它。我们应该如何以正确的方式提交,以防止服务器端发生冲突。
这实际上是一个场景:
首先,我将我的更改从本地开发机器推送到Gitlab存储库git命令git push
其次,我将代码更新从Gitlab存储库拉到我的服务器git命令git pull
第三,由于服务器中未提交的更改,我遇到了冲突。错误冲突:完成第二步后。
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .htaccess
modified: composer.json
modified: composer.lock
Untracked files:
(use "git add <file>..." to include in what will be committed)
php.ini
php_errorlog
注意:如果多个人在处理同一个文件,那么发生冲突的可能性更大。使用Visual Studio代码编辑器可以轻松解决冲突
解决冲突的步骤
- 检查您的所有更改集是否正确,验证一次并删除/放弃所有不想提交的所需文件
- 在当前工作文件夹
git add .
中输入命令 - 然后使用下一个命令
git status
检查暂存文件,并验证一次,就像所需文件是否只暂存一样 - 然后执行
git stash
,它将用另一个索引存储当前代码 - 现在执行
git pull
从服务器中提取更改,这将使您当前的工作存储库成为最新的服务器 - 现在执行
git stash pop
,这将隐藏您所做的更改 - 由于您已弹出更改,如果发生任何冲突,请检查更改集如果两者都需要-做CCD_ 8,如果只需要您的更改-执行
Accept Incoming
,如果需要服务器中当前的更改-Accept Current
- 再次检查
git status
,通过此操作,您可以验证是否只有您的变更集是正确的 - 现在您可以将更改提交到服务器
希望这对有帮助