我怎样才能回到我的主分支而不丢失所有以前的提交?
How can I go go back to my master branch without losing all previous commits?
我正在使用 git 到 Xcode。几天前,我在我的项目中添加了一个远程存储库。当时我没有注意到,但出于某种原因 Xcode 取消选择 master 分支作为我当前的分支,并且在过去的两天里,我所有的提交都是 (...) <- 在哪里?这就是问题所在。
现在,每次我尝试推送我的提交时,我都会收到 "The current branch could not be determined" 消息。我可以结账 master 但我会失去两天的提交。
现在如何选择master分支作为当前分支而不丢失进度?
我尝试从上次主提交分支,但它仍然无处可去,因为无法保存最近的提交。
将我的评论移至答案:
一个解决方案是创建一个临时分支(通过命令行),它将包含您的所有提交,然后将其合并到 master 中。XCode-9 有很多错误它合并了新的 git 工具(并且不再显示当前分支)..
要做到以上几点,你可以这样做:
git checkout -b "Temporary"
这会将您切换到名为 "Temporary" 的分支。
然后你做:
git commit -m "Your Changes".
将更改(如果有)提交给 "Temporary"。
然后你做:
git push origin -u "Temporary"
这会将 "Temporary" 分支推送到上游并跟踪其上的更改。最后,您可以将该分支合并到 master 或 git pull origin master
将 master 合并到该分支。
虽然它已经基于 master,但可能不需要拉取,除非其他人在您处理它时将更改提交给 master。
在进行不熟悉的git操作之前,我总是备份整个项目文件夹,里面有一个.git
隐藏文件夹。这将备份您的提交和项目。
不确定我是否应该提及这一点,但通常你总是想在 master 以外的另一个分支上工作.. IE: Feature/BlahBlah
然后合并到 master.
我正在使用 git 到 Xcode。几天前,我在我的项目中添加了一个远程存储库。当时我没有注意到,但出于某种原因 Xcode 取消选择 master 分支作为我当前的分支,并且在过去的两天里,我所有的提交都是 (...) <- 在哪里?这就是问题所在。 现在,每次我尝试推送我的提交时,我都会收到 "The current branch could not be determined" 消息。我可以结账 master 但我会失去两天的提交。
现在如何选择master分支作为当前分支而不丢失进度?
我尝试从上次主提交分支,但它仍然无处可去,因为无法保存最近的提交。
将我的评论移至答案:
一个解决方案是创建一个临时分支(通过命令行),它将包含您的所有提交,然后将其合并到 master 中。XCode-9 有很多错误它合并了新的 git 工具(并且不再显示当前分支)..
要做到以上几点,你可以这样做:
git checkout -b "Temporary"
这会将您切换到名为 "Temporary" 的分支。
然后你做:
git commit -m "Your Changes".
将更改(如果有)提交给 "Temporary"。
然后你做:
git push origin -u "Temporary"
这会将 "Temporary" 分支推送到上游并跟踪其上的更改。最后,您可以将该分支合并到 master 或 git pull origin master
将 master 合并到该分支。
虽然它已经基于 master,但可能不需要拉取,除非其他人在您处理它时将更改提交给 master。
在进行不熟悉的git操作之前,我总是备份整个项目文件夹,里面有一个.git
隐藏文件夹。这将备份您的提交和项目。
不确定我是否应该提及这一点,但通常你总是想在 master 以外的另一个分支上工作.. IE: Feature/BlahBlah
然后合并到 master.