如何解决我意外地在master上工作,如何将对分支重置master所做的所有更改转移到上一次提交?
我还没有提交我的更改,因为我意识到我正要提交而正在研究master。我想将所有未提交的更改移动到新分支上,然后将master重置为最后一次提交。我敢肯定一定有办法做到这一点,但是我对git不熟悉(每次使用它都会让我感到焦虑,因为我会弄乱某些东西并破坏应用程序)。如果有帮助,我会使用sourcetree。
解决方法
如果尚未暂存或提交更改,并且本地master
分支已经更新,则只需创建一个新分支即可。
git checkout -b newbranch
如果您需要首先与上游主服务器同步,则您的提交可能会与上游更改冲突。首先,只需尝试
git pull origin master
(如果您使用的是{{1},而不是upstream
)。如果您没有收到任何警告,则您的origin
已更新。如果您做得到警告,master
将拒绝拉动,并且您需要做出安排以协调源/上游与您未提交的更改之间的差异。第一步,存储您的更改,然后继续;
git
在继续进行并提交之前,此时可能需要解决一些冲突。
尽管通常创建一个新的本地分支并提交您拥有的东西会更安全,然后然后切换回git stash save -m "put a useful comment so you know what this is"
git pull origin master
git checkout -b newbranch
git stash pop
并查看需要采取哪些措施来解决所有冲突与上游。
如果您尚未提交更改,那是最简单的情况;您可以在其中创建一个新分支并提交更改。
git checkout -b name_of_branch
然后像往常一样添加并提交。
,我想将所有未提交的更改移到新分支上
checkout -b new_branch
将创建并签出一个新分支,而不会丢失您的更改
然后将主服务器重置为最后一次提交
git branch -f master origin/master
会将母版重置为存储库中原始/母版的位置。
1 . make new branch from master (git checkout -b branch_name)
2 . pull newest from master (git pull origin master)
3 . checkout into master branch (git checkout master)
4 . check the log (git log)
5 . reset into the last log (git reset --hard #log number#) ex: git reset --hard oij349efnj43t8
6 . push the last commit (git push --force origin #log number#:master) ex: git push --force origin oij349efnj43t8:master
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。