如何在不丢失所有先前提交的情况下返回我的主分支?

时间:2017-12-26 19:50:19

标签: git xcode9

我正在通过Xcode使用git。几天前,我在项目中添加了一个远程存储库。我没有注意到它然后由于某种原因Xcode取消选择master分支作为我当前的分支,并且在过去两天我的所有提交都是(...)< - 在哪里?这就是问题所在。 现在,每次我尝试推送我的提交时,我都会收到“当前分支无法确定”的消息。我可以结账主人,但后来我将失去两天的承诺。

我现在如何选择主分支作为当前分支而不会丢失进度?

我尝试从最后一次主提交中分支,但它仍然无处可去,因为没有办法保存更多最近的提交。

1 个答案:

答案 0 :(得分:1)

将我的评论转到答案:

一个解决方案是创建一个临时分支(通过命令行),它将包含所有提交,然后将其合并到master中.XCode-9与它已合并的新git工具相当有点错误(并且它不再显示当前分支)..

要做到这一点,你可以这样做:

git checkout -b "Temporary"

将切换到名为" Temporary"。

的分支

然后你做:

git commit -m "Your Changes".

将更改(如果有)提交给"临时"。

然后你做:

git push origin -u "Temporary"

将推动"临时"分支到上游并跟踪它的变化。最后,您可以将该分支合并到master或git pull origin master以将master合并到该分支中。

虽然它已经基于主人,但除非有人在你工作的时候将其更改为master,否则可能没有必要拉。

在进行不熟悉的git操作之前,我总是备份整个项目文件夹,里面有一个.git个隐藏文件夹。这将备份您的提交和项目。

不确定我是否应该提及这一点,但通常你总是希望在除了master之外的其他分支上工作.. IE:Feature/BlahBlah然后合并到master。