72787


よろしくお願いします。

[code]

    git pull origin ブランチ
    
[/code]

などで最新をとってきているのですが、  
gitでマージしたブランチの指定のcommit番号までの環境をpullしたいのですが、手法がわかりません…  
SVNのように、commit番号指定で取得はできないのでしょうか？


CC BY-SA 4.0
2020-12-21T04:48:33.053
72783
2020-12-21T06:06:04.230
2020-12-21T05:52:33.357
32986
12842
question
git gitlab
gitでマージしたブランチの指定のcommit番号までの環境をpullしたい


gitのpullはただ単にfetch と margeのコマンドを実行しているだけです。

つまりは

[code]

    git pull origin ブランチ
    
[/code]

が何をしているかというと

[code]

    git fetch origin ブランチ
    git merge FETCH_HEAD
    
[/code]

だけです。

なのでgit mergeの際にコミットIDをきちんと指定すればそこまで戻ることができます。

[code]

    git merge [commit]
    
[/code]

またgitはヘルプの充実しているので  
`git help pull` や`git help merge`  
などのヘルプに詳しく書かれているはずです。そちらも参考にしてください。


CC BY-SA 4.0
2020-12-21T06:00:20.667
72786
2020-12-21T06:00:20.667
22665
72783
answer


git と SVN とでは用語の意味するところが微妙に違いますので注意してください。

`git pull` した時点で過去のコミット履歴も参照できる状態なので、あとはコミットIDを指定して切り替えるだけだと思います。

伝統的には `checkout` を使ってきましたが、git 2.23 からは `switch` でも切り替えができるようになりました。

念のため適当なブランチを切って切り替える例は以下の通りです。

[code]

    $ git checkout -b <branch-name> [commit ID]
    
     or
    
    $ git switch -c <branch-name> [commit ID]
    
[/code]


CC BY-SA 4.0
2020-12-21T06:06:04.230
72787
2020-12-21T06:06:04.230
3060
72783
answer