master 中本地未提交的更改。需要切换到另一个分支
Local uncommited changes in master. Need to switch to another branch
我是WebDev实习生,在master分支做过一些工作。
而我已经做了一个星期的工作而没有意识到我在master分支。
我需要切换分支,以便我可以从不是主分支的分支提交我的本地更改。
我需要做什么:
- 将所有本地更改从我的主分支转移到其他分支。
- 从该分支提交更改。
- 给你一个正确答案验证。 :P
我查看了一些答案,但我不认为它们适合我的确切情况。
提前致谢。 :)
对您来说最简单的事情是存储您的工作目录(如果您已暂存任何文件,则可能暂存),创建一个新的功能分支,然后在那里应用您的存储。
# 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
到您第一次开始的位置。
如果您已经在本地向 master 应用了一些提交。在这种情况下,我将执行的解决方案是:
1) 首先创建一个新的分支,它是master的副本。
git checkout -b new_branch master
2) 现在将 new_branch 推送到远程(如果需要)
git push --set-upstream origin new_branch
3) 现在去找master
git checkout master
4) 现在转到日志,查看您已完成的要从 master 中删除的提交数。
git log
让 'N' 成为您完成的提交次数。因此,要从 master 中删除这些提交,请使用:
git reset --hard HEAD~N
例如,您要删除最近的 5 次提交。所以,它将是:
git reset --hard HEAD~5
希望对您有所帮助。
我是WebDev实习生,在master分支做过一些工作。 而我已经做了一个星期的工作而没有意识到我在master分支。 我需要切换分支,以便我可以从不是主分支的分支提交我的本地更改。 我需要做什么:
- 将所有本地更改从我的主分支转移到其他分支。
- 从该分支提交更改。
- 给你一个正确答案验证。 :P
我查看了一些答案,但我不认为它们适合我的确切情况。 提前致谢。 :)
对您来说最简单的事情是存储您的工作目录(如果您已暂存任何文件,则可能暂存),创建一个新的功能分支,然后在那里应用您的存储。
# 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
到您第一次开始的位置。
如果您已经在本地向 master 应用了一些提交。在这种情况下,我将执行的解决方案是:
1) 首先创建一个新的分支,它是master的副本。
git checkout -b new_branch master
2) 现在将 new_branch 推送到远程(如果需要)
git push --set-upstream origin new_branch
3) 现在去找master
git checkout master
4) 现在转到日志,查看您已完成的要从 master 中删除的提交数。
git log
让 'N' 成为您完成的提交次数。因此,要从 master 中删除这些提交,请使用:
git reset --hard HEAD~N
例如,您要删除最近的 5 次提交。所以,它将是:
git reset --hard HEAD~5
希望对您有所帮助。