我们的四个成员正在开发一个名为“Dev”的 Git 分支。我已经完成了一些工作,在尝试推送它时,它给了我一个错误,因为有人已经提交/推送到“开发”。它说先拉然后推,但是当我拉时,我修改的数据丢失了。但是,当我切换到使用 master 分支时,我恢复了。
我将如何将我的更改推送到“开发”而不删除其他开发人员的更改?
您可以git stash
在这种情况下使用。
#git stash
#git pull
#git stash pop / git stash apply <stash id> (you can look up the stash id with `git stash list`)
通常,如果您不修改同一行,git 会自动合并代码。否则,您应该有时手动合并代码,然后您可以提交并推送您的代码
如果您 先将其添加git pull
到索引中并在.
git pull
将获取上游dev
分支或上游回购“ origin
”并将其合并到您当前的分支“ dev
”。
但是,如果您没有提交,那么您的更改将“丢失”。
除非您仍然可以通过以下方式找到它们:
git fsck --lost-found => give a SHA1
git cat-file -p SHA1 => see the content of your lost work
有关更多信息,请参阅“ Git pull deleted uncommitted changes ”。