0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Git] 動作を試す 実行例35:任意のブランチをコミット履歴の中で自由に移動させる

Posted at

Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。

1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。

※前回記事のリポジトリ状態からの続きになっています。

前回記事へ 目次へ:Git関連記事のまとめページ 次回記事へ

実行例

※現在、全ブランチが、どのコミット位置にいるか、を表示する ⇒これが現在の状態全てを表すもの
git branch -v
↓
結果: 
* branch1 2b19eaa Merge branch 'master' into branch1
  branch2 f3ef64d message12
  master  a4d1247 message13 (fixed test10.txt)

※ブランチ・コミットの中を自由に移動した後で、この表示が同じであれば(全ブランチのコミット位置が同じもの)、同じ状態に戻ったことが確認できる

-----

※現在のブランチ上の、どのコミット位置にいるか、を表示する
git log --oneline -1
↓
結果: 
2b19eaa (HEAD -> branch1) Merge branch 'master' into branch1

-----

※任意の位置に移るには、以下の2つのコマンドで移動(まず移したいブランチに移り、次にコミットへ移す)
git checkout <branch名>
git reset --hard <コミットのSHA値>

※移動例
git checkout master
git reset --hard 2495cae
git log --oneline -1
↓
結果: 
2495cae (HEAD -> master) message7

※移動例
git checkout branch2
git reset --hard 045a734
git log --oneline -1
↓
結果: 
045a734 (HEAD -> branch2) message11

git branch -v
↓
結果: 
  branch1 2b19eaa Merge branch 'master' into branch1
* branch2 045a734 message11
  master  2495cae message7

(※元に戻す)
git checkout master
git reset --hard a4d1247
git checkout branch2
git reset --hard f3ef64d
git checkout branch1
git branch -v
↓
結果: 
* branch1 2b19eaa Merge branch 'master' into branch1
  branch2 f3ef64d message12
  master  a4d1247 message13 (fixed test10.txt)

-----

※移動用の新規ブランチを作成して、コミットの中を自由に移動後、一時的な移動用ブランチを削除
git checkout -b <branch_temp名>
git reset --hard <コミットのSHA値>
git branch -D <branch_temp名>

※移動例
git checkout -b branch_temp
git reset --hard 2495cae

git branch -v
↓
結果: 
  branch1     2b19eaa Merge branch 'master' into branch1
  branch2     f3ef64d message12
* branch_temp 2495cae message7
  master      a4d1247 message13 (fixed test10.txt)

type test1.txt
↓
結果: 
Sample-Added-11
Sample-Added-12
Sample-Added-13
Sample-Added-14
Sample-Added-17

dir /b
↓
結果: 
test1.txt
test2.txt
test4.txt

(※別ブランチに移ってから、一時的な移動用ブランチを削除)
git checkout branch1
git branch -D branch_temp

(※移動前の状態に戻ったことを確認)
git branch -v
↓
結果: 
* branch1 2b19eaa Merge branch 'master' into branch1
  branch2 f3ef64d message12
  master  a4d1247 message13 (fixed test10.txt)

(※移動前の状態に戻ったことを確認)
git log --oneline --graph --all
↓
結果: 
*   2b19eaa (HEAD -> branch1) Merge branch 'master' into branch1
|\
| * a4d1247 (master) message13 (fixed test10.txt)
| *   4791df6 Merge branch 'branch2'
| |\
| | * f3ef64d (branch2) message12
| | * 7fdeb04 message10
| | * b838160 message9
| | * c68ef01 message8
* | | 135f847 Merge branch 'master' into branch1
|\| |
| * | 60b0341 message12
| * | 045a734 message11
| * | d10f934 message10
| |/
* / 2495cae message7
|/
* 94996a0 message4
* 20bbab7 message3
* 00cad71 message2
* 4ace194 message1

環境

Windows 10、PortableGit-2.40.0-64-bitを使用、全てローカルPC上で実施、GitHub等は不使用。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?