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

问题描述 投票:0回答:1

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

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

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

git xcode9
1个回答
1
投票

将我的评论转到答案:

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

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

git checkout -b "Temporary"

这将切换到一个名为“临时”的分支。

然后你做:

git commit -m "Your Changes".

将更改(如果有)提交到“临时”。

然后你做:

git push origin -u "Temporary"

这会将“临时”分支推向上游并跟踪其上的变化。最后,您可以将该分支合并到master或git pull origin master中,以将master合并到该分支中。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.