gpt4 book ai didi

Git 存储未提交的文件

转载 作者:太空狗 更新时间:2023-10-29 14:35:22 25 4
gpt4 key购买 nike

我有两台服务器用于开发和生产。在开发服务器中,我有一个与 origin merge 的新分支。现在我想投入生产并进行更改。但是在 branch master 的生产服务器中,我修改了两个文件,仅此服务器需要。

所以当我点击:

git pull

我得到:

error: Your local changes to the following files would be overwritten by merge:
app/code/local/NextBits/DependentCustomOptionsImage/Block/Adminhtml/Template/Edit/Tab/Options/Option.php
app/design/adminhtml/default/default/layout/dependentcustomoptionsimage.xml
Please, commit your changes or stash them before you can merge

这是我需要的两个文件。

如何在不覆盖这些文件的情况下提取源?

或者我如何保留这些文件、 pull 更改并将它们还原?

最佳答案

至少有三种不同的解决方案可以实现这一点:

  • 在运行 git pull 之前,您可以在生产服务器中提交您对这两个文件的更改:

    git add -v -u
    git commit -m "Save prod config"
    git pull

    这通常会创建 merge 提交, merge 本地分支(使用提交 “Save prod config”)和远程更改。

    如果有冲突,你只需要借助 git statusgit diffgit commit 来解决它>.

    对于后续更新,运行git pull应该就足够了。

  • 与之前的解决方案一样,您可以提交您对两个生产配置文件的更改,但之后运行git pull -r:

    git add -v -u
    git commit -m "Save prod config"
    git pull -r

    -r 选项代表 --rebase 并且意味着特定于生产服务器的本地提交将 rebase 在 pull 的提交之上。

    可以通过运行 git pull -r 来执行后续更新。

    这个解决方案的主要优点只是能够保持“线性历史”:没有创建 merge 提交并且 “Save prod config” 提交将始终在末尾重播' 的历史。

  • 或者您可以使用 git stash 命令(在发生冲突时可能会有一些缺点):

    git stash
    git pull
    git stash pop

关于Git 存储未提交的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53411493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com