我是WebDev实习生,我在主分公司做了一些工作。 我已经做了一个星期的工作而没有意识到我在主分公司工作。 我需要切换分支,以便我可以从不是主分支的分支提交本地更改。 我需要做什么:
我经历了一些答案,但我不认为他们能够满足我的确切情况。 提前致谢。 :)
答案 0 :(得分:2)
您最容易做的事情就是隐藏您的工作目录(如果您已暂存任何文件,可能会暂存),创建一个新的功能分支,然后在那里应用您的存储。
# from the master branch
git stash # stash your work
git checkout -b your_feature # create and switch to a feature branch
git stash apply # then apply your work to that branch
然后,您可以将您的工作提交到your_feature
分支:
git add .
git commit -m 'Finished my work'
git stash
命令的工作原理是进行两次(有时是三次)提交,其中包含工作目录和阶段的内容。然后它会将master
回滚到您第一次开始的位置。
答案 1 :(得分:0)
如果您已在本地将一些提交应用于主服务器。我将在这种情况下做的解决方案是:
1)首先创建一个新的brach,它将是master的副本。
git checkout -b new_branch master
2)现在将new_branch推入远程(如果你想)
git push --set-upstream origin new_branch
3)现在去主人
git checkout master
4)现在转到日志,查看您要从master中删除的提交次数。
git log
让'N'成为您所做的提交次数。因此,要从master中删除这些提交,请使用:
git reset --hard HEAD~N
例如,您要删除最近的5次提交。所以,它将是:
git reset --hard HEAD~5
希望它会对你有所帮助。