2017-09-28 12 views
1

プロジェクトの最初のにをコミットするのではなくロールバックする方法はありますか? 次に、コミットすることでコミットを進め、変更がどのようにしたのかを確認します。githubの誰かのプロジェクト全体を自分のローカルドライブにフォークした後に元の状態に戻すにはどうすればいいですか?

この場合のワークフローとは何ですか?

+0

初めコミットルートがコミットです。ブランチには通常1つのルートがあります。時には複数のものがあります。 'git log --max-parents = 0 'でブランチのすべてのルートコミットをリストすることができます。コミットだけが必要な場合は '--pretty =%H'を加えます。 – ElpieKay

答えて

2
git log | tail 

意志を使用することができますを行うことができ、多くのdiffツールがありますそれぞれが以下のようにIDをコミットすると、最初のコミットを示しています。その後、

commit e73188b5512c82290a4070af4afddac20d0b981e 

git checkout e73188b5512c82290a4070af4afddac20d0b981e 

Gitのだろうこのコミットを現在の状態として使用すると、コミット前のファイルはいずれも になりますが、gitでは "untracked"とみなされます。これは、次にあなたがコミットそれまでの状態を返し、gitのログリストを通じて、あなたが任意の時点あなたを達することができる、ではないコミット状態で任意のファイルをクリーンアップします

git clean -fd 

:次に、あなたがシーンをきれいにすることができます隣接するコミットをチェックアウトしたい場合は、変更を表示できます。使用してみてください

git diff commit-id1 commit-id2 
+0

どのようにそれらのコミットIDをコピーしますか?彼らは厄介に見える、または私は最初の文字を入力する必要があります - IDの番号 - とIDの名前の残りの部分はポップアップですか? – ERJAN

+1

シェルで簡単にIDを取得し、プロジェクトディレクトリに移動して 'git log'と入力すると、UIインターフェイスに慣れていると思います.gitシェルがもっとうまくいくので、試してみてください。 –

+0

あなたはsha全体をコピーする必要はありません。 'git log --oneline'コマンドを使います。これにより、各コミットの「短い」シャー表示が容易に視覚化されるはずです。コマンドラインからも扱いやすくする必要があります。 – Shalen

1

私はgit checkoutがあなたの友人であるべきだと思います。あなたがコミットそれに枝masterをリセットするには

git checkout -B master shainitialcommit 

を行うことができ、リポジトリをクローンした後

。次に、同様の方法でコミットするたびにチェックアウトすることができます。

あなただけの変更がによって(たとえば、コードと相互作用しない)コミットコミット確認したい場合は、こと(あるいはあなたが

1

:それとも、とのgitに異なるを見ることができます

git log --reverse

それは最初の上部にコミットを紹介します。そして、あなたは最初のコミットまたは単にルックスをコミットする方法をご確認のちょうどチェックアウトすることができます

git show <hash_id>

関連する問題