【问题标题】:Git rebasing branch so commits and unstaged changes do not get deleted or lostGit 变基分支,因此提交和未暂存的更改不会被删除或丢失
【发布时间】:2018-01-09 01:55:47
【问题描述】:

假设我一直在开发一个分支,做了很多更改,其中一些是我提交的,其中一些仍未分阶段。然后其他人将某些东西推到掌握中。然后我完成并尝试将我的工作推向掌握。但是存在合并冲突,因为另一个人在推动自己之前更改了我当前正在处理的文件之一中的某些内容。我输入了哪些 Git 命令,以便根据他的更改更新我的分支,以及我当前的工作。这样我就可以合并。如何在不丢失提交或删除未暂存更改的情况下执行此操作?由于这个原因,我每次都会破坏我的项目。只需输入哪些命令以实现此目的?我查看了 Git 教程,上面说 git checkout branch, git rebase master。这再次破坏了我的项目。帮忙?

【问题讨论】:

    标签: git branch git-merge rebase


    【解决方案1】:

    您可以尝试在当前分支上执行git stash。这基本上会拍摄您当前阶段的快照并将其提交到安全的地方(它也会为您的工作目录执行单独的提交)。

    然后,拉入最新的更改:

    git pull origin master
    

    如果自上次与远程 master 分支同步后有新提交,则执行此操作时可能会遇到合并冲突。

    最后,通过以下方式应用存储:

    git stash apply
    

    您也可能因此而遇到合并冲突。现在你应该有你的合作者的最新变化,舞台应该和你离开时一样。

    【讨论】:

    • 好的,所以我把我的工作藏起来,直到我拉出来才提交。拉动后,我应用存储并提交。如果我在存储之前进行了提交并且存在冲突,我该怎么办?将工作存储在提交中并取消提交?
    • 我不确定这个后续问题是什么意思,但如果你提交,你应该解决冲突。未完成的提交应该被视为一种短暂的状态;要么不提交,要么完成提交并解决冲突。
    • 好吧,看起来我有一个合并冲突,没有任何数量、变基或存储可以解决。我只是将其他人的更改复制粘贴到我的代码中......虽然感觉不是正确的做事方式
    猜你喜欢
    • 2011-04-14
    • 2011-02-03
    • 2020-12-15
    • 2021-03-26
    • 2020-07-18
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多