[解決済み] 現在の変更点を含むGitブランチの作成
2022-03-16 11:05:17
質問
の作業を開始しました。 マスター ブランチは、私の仕事は簡単だと考えていました。しばらくして、もっと作業が必要だとわかったので、この作業をすべて新しいブランチで行いたいと思います。
新しいブランチを作成し、これらの変更をすべて持ち運ぶにはどうしたらよいでしょうか。 マスター ?
解決方法は?
まだコミットしていない場合は、(1: branch) と (3: checkout) のみで十分です。
あるいは、1つのコマンドで
git checkout -b newBranch
と
Git 2.23+
(2019年第3四半期)では
新コマンド
git switch
を使えば、1行でブランチを作成することができます(同じように
reset --hard
ということで
その効果に注意
):
# First, save your work in progress!
git stash
# Then, one command to create *and* switch to a new branch
git switch -f -c topic/wip HEAD~3
で述べたように
git reset
マンページ
:
$ git stash # (0) Save your work in progress
$ git branch topic/wip # (1)
$ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below)
$ git checkout topic/wip # (3)
-
いくつかのコミットを行ったが、それが " に入るには時期尚早であったことに気がついた。
master
ブランチです。トピックブランチで推敲を続けたいので、"topic/wip
現在のHEAD
. -
を巻き戻す。
master
ブランチからこれらの 3 つのコミットを削除します。 -
"に切り替えます。
topic/wip
"ブランチを作成し、作業を続けます。
繰り返しますが、(2019年とGit2.23以降)1つのコマンドですべてを行う新しい方法です。
git switch -f -c topic/wip HEAD~3
注)quot;destructive"効果により
git reset --hard
コマンドを実行すると、インデックスと作業ツリーがリセットされます。作業ツリー内のトラッキングされたファイルへの変更はすべて
<commit>
は破棄されます)、私はむしろ、この方法で行きたいと思います。
$ git reset --soft HEAD~3 # (2)
これで、プライベートなファイル(インデックスに追加されていない)を失わないようにすることができます。
その
--soft
オプションはインデックスファイルや作業ツリーにはまったく手をつけません (しかし、head はリセットして
<commit>
他のモードと同じように)。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] 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エラーになる -- pre-receive フックが減少した
-
git revert 複数コミット
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み】gpgがデータの署名に失敗した fatal: failed to write commit object [Git 2.10.0].
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] .gitignore と "以下の追跡されていない作業ツリーファイルはチェックアウトによって上書きされるでしょう"
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?
-
[解決済み] Git master の未段階/未コミットの変更からブランチを作成する
-
[解決済み] Gitのサインオフ機能は何のためにあるのですか?
-
[解決済み】Gitのブランチ名でスラッシュを使用する方法