[解決済み] git checkout <filename>」と「git checkout -- <filename>」の違いについて
質問
http://norbauer.com/notebooks/code/notes/git-revert-reset-a-single-file
投稿を発見しました。
とは何が違うのか、まだわかりません。
-
git checkout <filename>
-
git checkout -- <filename>
どのような場合に、前者と後者を使い分ければよいのでしょうか?
どのように解決するのですか?
特殊なオプションです。
--
は、このポイント以降のすべての引数を、それがどのように見えるかに関わらず、ファイル名として扱うことを意味します。 通常、引数がファイル名であることを明確にするために使用します。
オプション
例えば
rm -f # does nothing
rm -- -f # deletes a file named "-f"
git checkout
1
も取る。
--
を取り、後続の引数がオプションの "treeish"パラメータでどのコミットを望むかを指定するものではないことを意味します。
つまり、この文脈では
安全
を使用することで
--
を常に使用する必要がありますが
が必要です。
で始まる名前を持つファイルを元に戻したいときに必要です。
-
で始まる名前を持っていたり、ブランチの名前と同じであったりする場合です。 ブランチ/ファイルの曖昧さ回避のためのいくつかの例。
git checkout README # would normally discard uncommitted changes
# to the _file_ "README"
git checkout master # would normally switch the working copy to
# the _branch_ "master"
git checkout -- master # discard uncommitted changes to the _file_ "master"
とオプション/ファイルの曖昧さ解消を行います。
git checkout -p -- README # interactively discard uncommitted changes
# to the file "README"
git checkout -- -p README # unconditionally discard all uncommitted
# changes to the files "-p" and "README"
がある場合、どうするのかよくわかりません。
ブランチ
で始まり、名前が
-
. おそらく、最初からそんなことはしないでください。
1 このモードでは、"checkout" は他にもいくつかのことを行うことができます。 私は、なぜ git が "checkout" サブコマンドのモードとして、他の多くの VCS のように "revert" や "reset" ではなく、 "discard uncommitted changes" を実装したのかを理解したことがありませんが、git 自身の観点からは、より理にかなっていると思われます。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] git add -A」と「git add .」の違い。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
git revert 複数コミット
-
[解決済み】マージが終了していません(MERGE_HEADは存在します)。
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] git initを2回実行すると、リポジトリが初期化されますか?それとも既存のリポジトリを再初期化しますか?
-
[解決済み] fatal: bad revision "とはどういう意味ですか?
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] 単一ファイルのハードリセット
-
[解決済み】Gitチェックアウトのダブルダッシュの意味