[解決済み] Gitでファイルのステージを解除する方法が2つあるのはなぜですか?
2022-03-15 11:34:09
質問
時々、git は
git rm --cached
を使用してファイルをアンステージすることもあれば
git reset HEAD file
. どのような場合に使用するのでしょうか?
EDIT
D:\code\gt2>git init
Initialized empty Git repository in D:/code/gt2/.git/
D:\code\gt2>touch a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# a
nothing added to commit but untracked files present (use "git add" to track)
D:\code\gt2>git add a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: a
#
D:\code\gt2>git commit -m a
[master (root-commit) c271e05] a
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
D:\code\gt2>touch b
D:\code\gt2>git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# b
nothing added to commit but untracked files present (use "git add" to track)
D:\code\gt2>git add b
D:\code\gt2>git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
解決方法は?
git rm --cached <filePath>
を解除しない
は、実際には
ファイルの削除を段階的に行う
をレポから削除し、作業ツリーにはそのファイルを残します (追跡されていないファイルを残します)。
git reset -- <filePath>
意志
舞台を外す
指定されたファイルのステージングされたすべての変更。
とはいえ、もしあなたが
git rm --cached
をステージングされた新しいファイルに適用すると、基本的にそのファイルはそれまでコミットされていなかったので、ステージングを解除したように見えるでしょう。
git 2.24のアップデート
この新しいバージョンのgitでは
git restore --staged
の代わりに
git reset
.
参照
ギット・ドックス
.
関連
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] Git リポジトリからファイルを削除するにはどうすればよいですか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] 単一ファイルのハードリセット
-
[解決済み] git は修正された変更のみを追加し、追跡されていないファイルは無視する
-
[解決済み] ローカルのGitの変更を削除するさまざまな方法
-
[解決済み】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 pushが「すべて最新」と言う
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] fatal: bad revision "とはどういう意味ですか?
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 内容を削除せずに大量のファイルをアンステージする方法
-
[解決済み] gitからファイルを一時的にアントラックする
-
[解決済み] Git stash uncached: すべてのステージングされていない変更を片付けるには?