我已经开始与几个朋友合作一个项目&他们使用heroku git存储库。

几天前我克隆了存储库,他们已经做了一些更改,所以我正在尝试获得最新的更新

我运行git拉——rebase命令,如这里所述(这是正确的方式吗?):https://devcenter.heroku.com/articles/sharing#merging-code-changes

我得到以下错误:

$ git pull --rebase
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.

我的猜测是我把代码弄乱了,现在它想让我要么提交要么放弃(这就是stash的意思吗?)这些更改。这就是正在发生的事情吗?如果是这种情况,我想放弃我可能做的任何更改,只是从git存储库中获得更新的代码。

知道我能做什么吗?


当前回答

如果您想在执行重基时保持工作更改,您可以使用—autostash。从文档中可以看到:

在开始rebase之前,如果需要,将本地修改隐藏起来(参见git-stash[1]),并在完成时应用隐藏。

例如:

git pull --rebase --autostash

其他回答

你可以一直这样做

git fetch && git merge --ff-only origin/master

如果你的未提交更改与上游更改冲突,你将得到(a)没有更改,或者(b)与stash/pull/apply相同的效果:rebase将你放在HEAD的最新更改上,而你未提交的更改保留原样。

如果你想在每次重基时自动保存你的更改并取消保存它们,你可以这样做:

git config --global rebase.autoStash true

遵循以下步骤

从特性/分支(输入下面的命令)

Git checkout master

git pull

Git签出特性/分支名

Git 合并大师

您只需要使用下面的命令恢复未分段的更改

对于我的情况,我在纱线文件中有错误,对于你的情况,它可以是另一个文件

Git恢复- staging yarn.lock

首先从 git状态

看看是否有任何挂起的更改。 要丢弃它们,运行

请注意,运行此命令将丢失所做的更改

git reset --hard