我刚刚意识到我的同事已将我的功能分支合并到Github的主分支中,而自从他合并后我一直在我的本地机器上继续处理我的功能分支。现在我在功能分支上只有git add
一些新的更改,但还没有git commit
。
如果我在进行合并后立即意识到这一点,我会拉出主人,然后创建一个新的功能分支并处理新的功能分支。
我现在该怎么办?答案是否会有所不同,具体取决于我是运行git add
,git commit
还是git push
?
感谢。
答案 0 :(得分:1)
我对rebase或git一般没有信心。
请记住,您可以随时复制您的存储库并在那里尝试一些事情,而不必担心会搞砸。事实上,如果你正在运行命令,你不熟悉那些你不认识的人推荐的命令,这通常是一个好主意。
你可以给我一些特定的命令吗?
首先,确保您拥有远程存储库的最新副本:
git remote update
接下来,请确保您在功能分支上:
git checkout myfeature
最后,rebase
到更新的master
分支:
git rebase origin/master
根据您创建功能分支后master
中的更改,您可能需要执行一些冲突解决。如果唯一的更改是您的功能分支已合并,则不必更正任何内容。
(请注意,上面假设您正在使用名为origin
的远程,这是常见但不保证。)
答案 1 :(得分:1)
您可以在创建新分支时git stash
进行这些更改。 git checkout <<master branch name>>
然后git checkout -b <<new topic branch name>>
。
现在你已经拥有了一份干净的主副本,所以让我们用git stash pop
获取那些隐藏的更改。现在,您将回到开始的位置,在主干中已经提交了所有已更改的内容,并且您的新更改已准备就绪。