回滚到早期的主人

时间:2016-04-12 12:59:41

标签: git

我的git repo始于master,旨在将Facebook登录添加到网站。作为一项实验,我在名为GOOGLE_AUTH的分支中添加了Google登录信息。然后我继续使用Facebook登录主人,但我已经开了一个关于Facebook的转向,并希望在我分支master之前恢复GOOGLE_AUTH,但保留GOOGLE_AUTH。这不是太重要,因为我只启用了Goolge Auth,ID和秘密,但是我已经更改了几个类,因为将Facebook auth添加到主服务器,这是错误的意图。我现在想要master,有一个固定的GOOGLE_AUTH分支,但没有任何Facebook更改。

如果没有自GOOGLE_AUTH以后的所有已更改文件的手动回滚,这是否可行?

2 个答案:

答案 0 :(得分:2)

# find the split commit (junction) when you first go out with the GOOGLE_AUTH branch
git log --graph --decorate

# change your filesystem state to the prev state (what you find above) 
git checkout <COMMIT_SHA> # of the upper commit

# remove the master branch 'pointer'
git branch -d master # delete master

# create new branch master 'pointer' in the same commit you found earlier
git checkout -b master

答案 1 :(得分:0)

您可以git checkout [commit]在特定时间点获取主分支的状态,然后提交。由于您的GOOGLE_AUTH位于不同的分支机构,因此不会受到影响。完成Google身份验证功能后,将其合并到主分支。

另外,你应该看一下git flow技术:http://nvie.com/posts/a-successful-git-branching-model/