[解決済み】gitでブランチを削除すると、履歴から削除されるのでしょうか?
2022-04-10 17:24:29
質問
svn から来て、git に慣れ始めたところです。
git でブランチを削除すると、履歴からも削除されるのですか?
svnでは、削除操作を元に戻す(逆マージ)ことで、簡単にブランチを復元することができます。svnのすべての削除と同様に、ブランチは実際には削除されず、現在のツリーから削除されるだけです。
git の履歴からブランチが実際に削除された場合、そのブランチからマージされた変更はどうなるのでしょうか? それらは保持されるのでしょうか?
解決方法は?
ブランチは、gitにおけるコミットへのポインタに過ぎません。git では、各コミットは完全なソースツリーを持っています。svn では、すべてのブランチとタグは(規約により)リポジトリの別々の「フォルダー」に、特別な「トランク」とともに格納されますが、これは非常に異なる構造になっています。
もしそのブランチが削除される前に別のブランチにマージされていた場合、最初のブランチを削除しても、すべてのコミットは別のブランチから到達可能なままです。そのままの状態で残ります。
他のブランチにマージされずに削除された場合、そのブランチのコミットは (まだ到達可能なコミットからフォークされた時点までの) 表示されなくなります。
コミットはまだリポジトリに保持され、削除後すぐに復元することが可能ですが、最終的にはガベージコレクションされることになります。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 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, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】「オリジン/マスターへのプッシュが拒否されました」というエラーが常に発生するのはなぜですか?
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
git revert 複数コミット
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?