[解決済み] git add を実行してもしなくても、ブランチを切り替えたときに自分の変更点(修正、追加、削除されたファイル)が表示され続けるのはなぜですか?
2022-07-22 23:58:58
質問
私はgitの初心者なのですが、ブランチを切り替えるためにgit checkoutを実行したときに、あるブランチで変更した内容が別のブランチに表示され続けるのはなぜなのかを理解しようとしています。しかし、その後 git add を使ってみましたが、問題は解決しませんでした。git commitはまだ使っていません。
基本的にはこのような感じです。
$ git clone <a_repository>
$ git branch
* master
$ git branch testing
$ git checkout testing
...edit a file, add a new one, delete...
$ git status
# On branch testing
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: file1.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# file2.txt
no changes added to commit (use "git add" and/or "git commit -a")
$ git branch
master
* testing
$ git checkout master
D file1.txt
Switched to branch 'master'
$ git status
# On branch master
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: file1.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# file2.txt
no changes added to commit (use "git add" and/or "git commit -a")
ブランチを使っていると、あるブランチで何をやっても、他のブランチからは見えないと思いました。それがブランチを作る理由ではないのでしょうか?
私は "git add" を使ってみましたが、変更は両方のブランチに表示されています。 これを避けるには、ブランチを切り替える前に "git commit" を実行する必要がありますか?
どのように解決するのですか?
ブランチを切り替えると、コミットされていない変更も一緒に持ち運ばれます。先にコミットして
git checkout .
を実行して元に戻すか、あるいは
git stash
を実行してください。(変更を元に戻すには
git stash apply
)
関連
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み] Git の detached head を修正するにはどうすればよいですか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
解决[email protected]。パーミッションが拒否されました (publickey)。リモートリポジトリから読み取れませんでした
-
エラーが発生しました。マージされていないファイルがあるため、プリングはできません
-
コミットには何も追加されないが、未追跡のファイルが存在する解決策
-
ファイル名が長すぎるため、作業ツリーをチェックアウトできない警告が表示されました。クローンには成功しましたが、チェックアウトに失敗しました。
-
git reports an error fatal: unable to auto-detect email address (got 'Administrator@MS-20180504MMDH.(none)')
-
[解決済み] キーフィンガープリントが原因でHerokuにプッシュできない
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] Git git reset」後にコミットメッセージを再利用/保持するには?
-
[解決済み] Git で実行されたコマンドの履歴やログ