我最初是在master分支中,然后我创建了一个development
分支并使用该分支:
git branch development
git checkout development
之后,我开始在development
分支上的项目中进行更改。
然后,我承诺并推动:
git push origin development
,所以,我创建了一个远程开发分支。
最后,我回到master
分支:
git checkout master
(不合并对development
分支所做的更改)
然后:
git pull origin master
(以便在master
分支上获得其他开发人员的更改)
但是,令人惊讶,development
分支上的所有更改都应用于master
分支!! 为什么?我没有在我回到git merge development
分支后运行命令master
,为什么更改应用于我的master
分支??
正如已经发生的那样,我现在如何将master
分支恢复为,而不是来自development
分支的更改?
答案 0 :(得分:0)
也许您编辑过未跟踪的文件或其他内容? 没有更多信息,很难说。
答案 1 :(得分:0)
在
git log
中,我看到一位开发人员“合并远程跟踪分支'origin / master'”可能是原因吗?
是的,这是原因,而您的git pull origin master
会:
origin/master
的内容(已包含与origin/development
合并的内容)考虑到已经克隆了origin/master
,我不建议在此时更改其历史记录。所以没有'git reset
'。
如果您需要在合并之前继续从主设备上工作,只需从git log
获取正确的SHA1并且:
git checkout -b my_new_branch right_SHA1
您可以在合并之前的master HEAD
开始新的分支。