担心重置Git提交

时间:2016-04-17 18:56:02

标签: git github

所以我把我的代码搞砸了我的本地,但幸运的是我每天都承诺给Git。

我去了我的Git repo,下载了我的代码的最后一个工作版本(来自.zip格式),现在我想替换我本地的代码。

如何在不重置提交次数的情况下继续git push? 我先做git pull吗?

4 个答案:

答案 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 addgit commit,最后git push

绝对是一种体验!

答案 3 :(得分:0)

我找到了另一种回溯到我的应用程序中的一个方法,在我搞砸之前它正在工作。

  1. 首先,隐藏任何未提交的更改,否则Git会抱怨:

    git stash

  2. 然后,只需查看一个您知道具有正确工作代码的旧分支。它可以是主分支,或者像contact_form等其他分支。(将下面的previous_branch_name替换为您要切换到的分支):

    git checkout previous_branch_name

  3. 使用损坏的代码删除分支以保持组织有序:

    git branch -D broken_branch

  4. 然后签出一个新分支,并将其命名为相关内容:

    git checkout -b new_branch_name

  5. 现在,您将回到应用程序在之前的分支机构状态之前工作的地步!