我正在通过Xcode使用git。几天前,我在项目中添加了一个远程存储库。我没有注意到它然后由于某种原因Xcode取消选择master分支作为我当前的分支,并且在过去两天我所有的提交都是(...)< - 在哪里?这就是问题所在。现在,每次我尝试推送我的提交时,我都会收到“当前分支无法确定”的消息。我可以结账高手然后我将失去两天的提交。
我现在如何选择主分支作为我当前的分支而不会失去进度?
我试图从最后一个主提交分支,但它仍然无处可去,因为没有办法保存更多最近的提交。
将我的评论转到答案:
一个解决方案是创建一个临时分支(通过命令行),它将拥有它的所有提交,然后将其合并到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。