我们的四名成员正在开发名为“Dev”的Git分支。我已经完成了一些我的工作,当我试图推动它时,它给了我一个错误,因为有人已经提交/推送到“dev”。它说首先拉动并推动,但是当我拉动时,我修改的数据丢失了。但是,当我切换到使用master分支时,我恢复了。
如何在不删除其他开发人员的更改的情况下将我的更改推送到“dev”?
答案 0 :(得分:0)
如果您首先将添加到索引,并且在git pull
之前提交 ,则不应丢失您的工作。
git pull
会fetch and merge upstream dev
branch或upstream repo '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”。
答案 1 :(得分:0)
您可以在此方案中使用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将自动合并代码。否则你应该手动合并代码,然后你可以提交并推送你的代码