我的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
以后的所有已更改文件的手动回滚,这是否可行?
答案 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/