[解決済み] リモートリポジトリからブランチのフレッシュコピーを取得する方法は?
2023-04-30 15:56:25
質問
友人の地元
master
ブランチは、どうやら災難だったようです (偶発的な
merge
と
commit
のようなものだと思います)。しかし、彼の開発ブランチは問題ありませんが、リモートへプッシュする準備が出来ていない変更が含まれています。
彼のローカルの
master
ブランチをリモートの
master
ブランチにコピーして、(他のブランチを上書きすることなく)新しいコピーを取得できますか?
どのように解決するのですか?
Jefromiさんのコメントの通りです。
git checkout master
git reset --hard origin/master
は正しいことをします: マスターをその原点状態に設定することです。(もし、すでに
master
ブランチにいる場合は、最初のコマンドを省略することができます)。また、ブランチの reflog もそのままにします。
古い劣悪な回答です。
git checkout dev
git branch -D master
git checkout master
これは別のブランチ (この例では dev" ) に切り替わり、ローカルブランチの
master
ブランチを削除し、それを
remotes/origin/master
から再作成します (設定やGitのバージョンによってはうまくいかないかもしれません)。最後のコマンドは、多くの場合、次のコマンドと同等です。
git checkout -b master remotes/origin/master
上の新しい回答と比べて、これはreflogが破壊されて再作成されるという欠点があり(つまり、必要に応じてこれを簡単に元に戻すことができない)、ここで何が起こるかがあまり明確ではありません。また、削除と再作成の間に切り替えられる別のブランチが存在する必要があります(ただし、これは元の質問の場合です)。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
解决[email protected]。パーミッションが拒否されました (publickey)。リモートリポジトリから読み取れませんでした
-
Git error: cannot spawn ssh.の回避策。そのようなファイルやディレクトリはありません
-
コミットメッセージが空だったため、コミットを中止する git commit
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] gitにもsvnのような無視コマンドはありますか?
-
[解決済み] 現在のブランチにあるファイルをメインブランチにある同じファイルに上書きしますか?
-
[解決済み] GitHubで、既存のレポを追加するときにすべてのブランチをプッシュするにはどうしたらいいですか?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] Gitでは、これらの言葉はどのような意味ですか?リポジトリ、フォーク、ブランチ、クローン、トラック?
-
[解決済み] git add を実行してもしなくても、ブランチを切り替えたときに自分の変更点(修正、追加、削除されたファイル)が表示され続けるのはなぜですか?