[解決済み] なぜGitでコミットする前にステージが必要なのですか?
質問
私はバージョン管理の初心者ですが、quot;commit" は基本的に、作業中のものの新しい「現在の」バージョンを更新しながらバックアップを作成することだと理解しています。
私が理解していないのは、実用的な観点からのステージングとは何かということです。ステージングは名前だけ存在するものなのでしょうか、それとも目的を果たすものなのでしょうか。コミットするとき、それはとにかくすべてをコミットするつもりでしょう?
編集:私は用語を混同している可能性があると思います。ステージングされた」ファイルは「追跡された」ファイルと同じものですか?
どのように解決するのですか?
コミットするとき、インデックスにある変更("staged"ファイル)だけをコミットするつもりです。 これには多くの用途がありますが、最も明白なのは、作業中の変更をより小さく、自己完結したピースに分割することです。 たとえば、ある機能を実装しているときにバグを修正したとします。 その場合
git add
を使えば、そのファイルだけ (あるいは
git add -p
でファイルの一部だけを追加します!) そして、他のすべてをコミットする前にそのバグフィックスをコミットします。 もしあなたが
git commit -a
を使用している場合は、強制的に
add
を強制することになります。 そのため
-a
は使わないでください。
また、ステージングファイルを中間的な作業コピーとして扱うために
--cached
を多くのコマンドに追加してください。 例えば
git diff --cached
とはステージがどのように異なるかを示します。
HEAD
との違いを示すので、他の作業中の変更と混同することなく、何をコミットしようとしているのかを確認することができます。
関連
-
[解決済み】gitが「変更をコミットするか、マージする前に隠してください」と言うのを解決するにはどうしたらいいですか?
-
git push は最新の解決策を提供します。
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Gitでファイルのステージを解除する方法が2つあるのはなぜですか?
-
[解決済み] git stash から単一のファイル(またはファイルへの変更点)を抽出するにはどうすればよいですか?
-
[解決済み] 間違ったGitブランチにコミットしてしまった場合の対処法
-
[解決済み] ローカルのGitの変更を削除するさまざまな方法
-
[解決済み] 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 commit to GitHub エラー、プロンプト ! [リモート拒否] master -> master (pre-receive hook declined) エラー: 失敗しました。
-
undefinedGitのプッシュコードには、! [rejected] master -> master (fetch first) 問題があります。
-
git push は最新の解決策を提供します。
-
Git学習まとめ(2)コミットには何も追加されていないが、未追跡のファイルは存在する
-
Git: bash: cd: 引数が多すぎる
-
fatal: パス仕様 'readme.txt' がどのファイルにもマッチしなかった Solution
-
[解決済み] GitHubで、既存のレポを追加するときにすべてのブランチをプッシュするにはどうしたらいいですか?
-
[解決済み] git で特定のハンクを対話的にアンステージするには?
-
[解決済み] git fetch origin` と `git remote update origin` の違いは何ですか?
-
[解決済み] Git で実行されたコマンドの履歴やログ