将更改推送到Git分支,但告诉先拉,但拉动失去了我自己的工作

时间:2013-10-06 11:31:34

标签: git git-push git-pull

我们的四名成员正在开发名为“Dev”的Git分支。我已经完成了一些我的工作,当我试图推动它时,它给了我一个错误,因为有人已经提交/推送到“dev”。它说首先拉动并推动,但是当我拉动时,我修改的数据丢失了。但是,当我切换到使用master分支时,我恢复了。

如何在不删除其他开发人员的更改的情况下将我的更改推送到“dev”?

2 个答案:

答案 0 :(得分:0)

如果您首先将添加到索引,并且在git pull之前提交 ,则不应丢失您的工作。

git pullfetch and merge upstream dev branchupstream 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将自动合并代码。否则你应该手动合并代码,然后你可以提交并推送你的代码