如何放弃改变?

时间:2015-05-30 20:33:43

标签: git

我经常使用OpenSSL的git repo。我测试我的更改的一个方面是发布make clean; make dclean

的干净副本

当我执行git pull时,git总是失败,因为所有开发人员都被dclean删除了(见下文)。当它失败时,git告诉我“提交您的更改或存储您的更改......”。我对提交,保存或存储它们并不感兴趣。相反,我想放弃它们。

git abandon不是命令。放弃变更的命令是什么?

相关问题是How do you discard unstaged changes in git?。但答案是隐藏它们(如果您阅读了这个问题,您将看不到任何答案实际上回答问题)。但我对藏匿或保存它们并不感兴趣。我只是想放弃它们,所以我可以git pull然后回去工作。

$ git pull
remote: Counting objects: 2069, done.
remote: Compressing objects: 100% (872/872), done.
remote: Total 2069 (delta 1022), reused 589 (delta 589), pack-reused 608
Receiving objects: 100% (2069/2069), 3.13 MiB | 1.59 MiB/s, done.
Resolving deltas: 100% (1272/1272), done.
From https://github.com/openssl/openssl
   c40dba9..e0f9bf1  master     -> origin/master
   8a09500..d8a2353  OpenSSL-fips-2_0-dev -> origin/OpenSSL-fips-2_0-dev
   155ca14..f16093d  OpenSSL_0_9_8-stable -> origin/OpenSSL_0_9_8-stable
   690d040..aaa654d  OpenSSL_1_0_0-stable -> origin/OpenSSL_1_0_0-stable
   76b49a8..cc74177  OpenSSL_1_0_1-stable -> origin/OpenSSL_1_0_1-stable
   c59bd61..4d9dc0c  OpenSSL_1_0_2-stable -> origin/OpenSSL_1_0_2-stable
 * [new tag]         OpenSSL-fips-2_0_9 -> OpenSSL-fips-2_0_9
Updating c40dba9..e0f9bf1
error: Your local changes to the following files would be overwritten by merge:
    crypto/aes/Makefile
    crypto/asn1/Makefile
    crypto/bf/Makefile
    crypto/bio/Makefile
    crypto/buffer/Makefile
    crypto/camellia/Makefile
    crypto/cast/Makefile
    crypto/cmac/Makefile
    crypto/cms/Makefile
    crypto/conf/Makefile
    crypto/des/Makefile
    crypto/dh/Makefile
    crypto/dsa/Makefile
    crypto/dso/Makefile
    crypto/ecdh/Makefile
    crypto/ecdsa/Makefile
    crypto/engine/Makefile
    crypto/err/Makefile
    crypto/evp/Makefile
    crypto/hmac/Makefile
    crypto/idea/Makefile
    crypto/lhash/Makefile
    crypto/md4/Makefile
    crypto/md5/Makefile
    crypto/mdc2/Makefile
    crypto/modes/Makefile
    crypto/ocsp/Makefile
    crypto/pem/Makefile
    crypto/pkcs12/Makefile
    crypto/pkcs7/Makefile
    crypto/pqueue/Makefile
    crypto/rand/Makefile
    crypto/rc2/Makefile
    crypto/rc4/Makefile
    crypto/ripemd/Makefile
    crypto/seed/Makefile
    crypto/sha/Makefile
    crypto/srp/Makefile
    crypto/stack/Makefile
    crypto/ts/Makefile
    crypto/txt_db/Makefile
    crypto/ui/Makefile
    crypto/whrlpool/Makefile
    crypto/x509/Makefile
    engines/Makefile
Please, commit your changes or stash them before you can merge.
Aborting

3 个答案:

答案 0 :(得分:4)

要与HEAD同步,它是

git reset --hard HEAD

答案 1 :(得分:1)

要放弃更改,您也可以使用

git checkout -- . 

检查这个答案 http://www.example.com/user/index.php/settings/private

答案 2 :(得分:-1)

尽管@Willie Wheeler的答案是完美的,我过去曾经使用过它,但我一直处于接收端,主要是因为这个命令只是在没有任何再想法的情况下移除。

你可以试试 git reset --soft