如何在服务器上提交更改并从代码库中提取更新而不发生冲突



我从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代码编辑器可以轻松解决冲突

解决冲突的步骤

  1. 检查您的所有更改集是否正确,验证一次并删除/放弃所有不想提交的所需文件
  2. 在当前工作文件夹git add .中输入命令
  3. 然后使用下一个命令git status检查暂存文件,并验证一次,就像所需文件是否只暂存一样
  4. 然后执行git stash,它将用另一个索引存储当前代码
  5. 现在执行git pull从服务器中提取更改,这将使您当前的工作存储库成为最新的服务器
  6. 现在执行git stash pop,这将隐藏您所做的更改
  7. 由于您已弹出更改,如果发生任何冲突,请检查更改集如果两者都需要-做CCD_ 8,如果只需要您的更改-执行Accept Incoming,如果需要服务器中当前的更改-Accept Current
  8. 再次检查git status,通过此操作,您可以验证是否只有您的变更集是正确的
  9. 现在您可以将更改提交到服务器

希望这对有帮助

最新更新