所以我把我的代码搞砸了我的本地,但幸运的是我每天都承诺给Git。
我去了我的Git repo,下载了我的代码的最后一个工作版本(来自.zip格式),现在我想替换我本地的代码。
如何在不重置提交次数的情况下继续git push
?
我先做git pull
吗?
答案 0 :(得分:1)
如果您下载了zip,则没有任何insertPing.bind(ping.pingUuid, ping.senPhoneNumber, ping.recPhoneNumber, new java.lang.Double(ping.locationWithTime.location.lat), new java.lang.Double(ping.locationWithTime.location.long), ping.locationWithTime.time)
文件夹。您需要再次重新克隆项目,然后将更改置于其上。
进行第二次克隆并使用差异比较的差异工具比较2个文件夹并将更改从一个文件夹复制到第二个文件夹,然后提交这些更改。
答案 1 :(得分:0)
要将已签出的分支重置为与远程master
上的分支origin
完全相同,请执行以下操作:
git remote update
接下来是:
git reset --hard origin/master
如果您还想删除任何构建生成/手动创建的文件,请使用git clean的风格(请参阅文档):
git clean -fdx
答案 2 :(得分:0)
我重新创建了问题,我还发现了另一个解决我问题的方法:
在我下载了我的Git备份并解压后,在终端我跑了
git init
紧随其后
git remote add origin the-name-of-my-git-backup.git
在运行git pull the-name-of-my-git-backup.git
之前
之后,我能够恢复git add
,git commit
,最后git push
。
绝对是一种体验!
答案 3 :(得分:0)
我找到了另一种回溯到我的应用程序中的一个方法,在我搞砸之前它正在工作。
首先,隐藏任何未提交的更改,否则Git会抱怨:
git stash
然后,只需查看一个您知道具有正确工作代码的旧分支。它可以是主分支,或者像contact_form等其他分支。(将下面的previous_branch_name替换为您要切换到的分支):
git checkout previous_branch_name
使用损坏的代码删除分支以保持组织有序:
git branch -D broken_branch
然后签出一个新分支,并将其命名为相关内容:
git checkout -b new_branch_name
现在,您将回到应用程序在之前的分支机构状态之前工作的地步!