-3

私は自分のコードを台無しにしてしまいました.悲しいことに、すでにいくつかのコミットを行っており、修正すべき神話のように見えるバグを見つけました.アップバージョン)。(素晴らしい GITHUB に感謝します!)

走ってみたgit clone https://github.com/username/Spoon-Knife.git

    remote: Counting objects: 253, done.
    remote: Compressing objects: 100% (150/150), done.
    Receiving objects:  64% (162/253), 20.00 Kremote: Total 253 (delta 119), reused
    Receiving objects:  66% (167/253), 20.00 KiB | 15 KiB/s
    Receiving objects: 100% (253/253), 60.99 KiB | 15 KiB/s, done.
    Resolving deltas: 100% (119/119), done.

しかし、それは機能していないようです。一部のファイルは変更されませんでした。どうすれば対処できますか?リモート github バージョンからプルするには?

4

2 に答える 2

1

1 つの不適切なコミットを行い、その後必要な 1 つ以上のコミットを行った場合に備えて、インタラクティブなリベースを使用することをお勧めします。たとえば、3 つのコミットをプッシュしたとします。最初の 1 つはくだらないもので、残りの 2 つは必要です。コマンドでインタラクティブなリベースを開始する必要があります

git rebase -i HEAD~3

-i はリベースがインタラクティブであることを意味します

HEAD~3 は、最後の 3 つのコミットで作業することを意味します。

このコマンド テキスト エディタを実行すると、次のようなテキストで開かれます

pick f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added cat-file

# Rebase 710f0f8..a5f4a0d onto 710f0f8
#
# Commands:
#  p, pick = use commit
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#

くだらないコミットで最初の行を削除し、テキスト エディターを終了する必要があります。リベースが終了すると、誤ってコミットされたすべての変更が削除されます。

コミット履歴が正常かどうかを確認します。その場合は、次のコマンドを実行します

git push -f

このコマンドは、最後のコミットでブランチ ポインターを移動します。

ここで入手できるインタラクティブなリベースの詳細については、 http: //git-scm.com/book/en/Git-Tools-Rewriting-History

于 2013-06-01T10:50:28.703 に答える