我做了'git pull'而不是'git pull --rebase'。
SHA: 138937298d80a7c84d0630b1db509ca2596aca91 // top of my git
<< some changes I got from 'git pull' >>
SHA:
SHA:
<< end of some changes I got from 'git pull' >>
SHA: 08ebb55902e206a30d6f344b4684bd525970dda3 // my original top of my git before i do anything.
我的问题是如何恢复我从'git pull'获得的变化然后我做了'git pull -rebase'?
另一个问题是我在Mac上使用'gitx',我从'git pull'获得的更改是在不同的垂直线上和我原来的那些。这是为什么? 谢谢。
答案 0 :(得分:3)
使用git reflog
找到要恢复的其他HEAD,然后重置为提交。通常,如果您在拉动后没有做任何事情,那么这将是git reset --hard HEAD@{1}
答案 1 :(得分:1)
假设您正在master
,并且您希望将远程更改提取到origin/master
并将您的工作重新定位到“官方”分支,但您犯了一个错误:
git pull origin
现在你已经将你的工作和服务器中的东西合并了;那不是你想要的!
git stash save
git reset --hard HEAD@{1}
git stash apply
现在你已经回到了拉扯之前的位置,但你仍然希望将更改放在服务器上的内容之上......
git rebase origin/master
你去了,一切都准备好了!