git pull到我的分支,但是不覆盖任何本地文件(我已经将它推送到了原始文件/分支)

时间:2019-07-15 03:44:16

标签: git

我的步骤:

  • 我在A支行(本地)
  • 我对文件进行了一些更改,并提交了更改并将其推送到原始位置的分支A。
  • 其他人在母版中对其他文件进行了更改,并将其推送到原始文件/母版中
  • 我想在不影响我的更改/新文件的情况下将他们的更改拉到我的本地分支A。

我该怎么做? 我读到我们可以先做

git stash
git pull
git stash pop

但是,我的更改已经提交并推送到原始分支A,因此当我执行git stash时,会收到消息No local changes to save

1 个答案:

答案 0 :(得分:0)

假设您的本地分支机构为foo。因此,您想将master拉到foo

git pull没有任何选项可能无法按预期运行。它可能等效于git pull origin foo,或者如果尚未设置配置,则什么也不做。在这种情况下,您需要明确指定要从哪个遥控器中拉出哪个分支。

git stash -u
# the remote is "origin" and the branch is "master"
git pull origin master
git stash apply --index

-u存储未跟踪的文件,这些文件可能已经被master跟踪了。与apply相比,我更喜欢pop,因为它不会立即删除存储项。 --index将已暂存的文件恢复到索引,而不是仅恢复到工作树。