2011-10-14 22 views
11

Githubと共通のワークフローをいくつか考えてください。私はVS TFSの背景から来たので、私を許してください。Git:ローカル変更を元に戻す。 git add。 + git rm?

取り消し保留中の変更

のは、私は私のローカルファイルシステムにgitリポジトリをクローン化してきたとしましょう。この時点で、プロジェクトのローカルファイルは、リモートのrepoistoryにあるものとまったく同じです。

次にコードにいくつか変更を加え、いくつかのファイルのローカルバージョンを変更することにしました。いくつかのテストをした後、ローカルの変更を破棄し、ローカルのファイルをリモートのrepoistoryに戻したいと考えています。

ローカルの変更を元に戻し、リポジトリの現在のバージョンに復元するにはどうすればよいですか?すべての変更のコミット

私は「gitのコミット」、私のリポジトリのクローンにローカルファイルの内容を変更、または新しいファイルを追加し、私は「gitのを追加。」を発行、変更をプッシュしたいときはいつでも

私のコメントで、私のマスターに "git push"。

しかし、リポジトリ内でトラッキングされたファイルをローカルで削除すると、 "git add" rmの変更をキャプチャしません。代わりに、リポジトリを更新する前に "git rm [filename]"する必要があります。私はいつもこれを行うことを忘れる。

「git add」となるgitコマンドがありますか?と "git rm"は、私がローカルで削除したファイルを1つのステップで削除しますか?ローカルファイルを変更してカップルを削除した後、 "git commit"の前にすべての変更をキャプチャするコマンドを1つだけ発行したいと思います。

答えて

22

? `

git reset --hard 

(これはHEADにあなたのインデックスと作業ディレクトリをリセットします)

"git add"となるgitコマンドがありますか?そして「gitのrmを」私は1つのステップで、ローカルで削除したすべてのファイルを? `

git add -u 

(それは文句を言わない新しいファイルを追加)

あなたも新しいファイルを追加したい場合は、RMを削除します」ファイルへの段階的な変更:

git add -A 
+0

私はこれが正しい答えだと思います。詳細については、このリンクをチェックしてください:http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html – dresende

3

あなたが発行して、あなたの最後の有効なコミット(ツアーの例では、リモートレポのすなわちコピー、)に戻すことができます。また、私はより良い方法をリセット作業を理解するのに便利なhttp://progit.org/2011/07/11/reset.htmlページを読ん示唆

git reset --hard HEAD 

とインデックスとは何か、git addとgit rmは別々のコマンドです。私は、リポジトリ内の現在のバージョンにそれらを復元し、これらのローカルな変更を元に戻すにはどうすればよい

関連する問題