我还没有提交我的更改,因为我意识到我正在处理 master,就像我即将提交一样。我想将所有未提交的更改移动到新分支上,然后将 master 重置为上次提交。我确信一定有一种方法可以做到这一点,但我不熟悉 git(每次我使用它时,它都会让我担心我会搞砸一些东西并破坏应用程序)。如果有帮助,我会使用源代码树。
如果更改尚未暂存或提交,并且本地master
分支已是最新的,则只需创建一个新分支即可。
git checkout -b newbranch
如果需要先与上游主节点同步,则提交可能会与上游更改发生冲突。 首先,只需尝试
git pull origin master
(或者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
在你继续提交之前,此时可能会有一些冲突需要解决。
尽管通常创建一个新的本地分支并提交您拥有的内容会感觉更安全,然后切换回master
并查看需要做些什么来解决与上游的任何冲突。
如果您尚未提交更改,这是最简单的情况;您可以在您所在的位置创建一个新分支并提交更改。
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