ブランチを切り替えずにfast-forwardマージする
複数人開発中にremoteで進んだブランチにHEADを切り替えずにfast-forwardマージしたかったけど,
やり方がわからなかったので無理やり実行した話.
コマンド知ってる人教えてください.
gitコマンド
コメントでコマンド教えてもらいました.
$ git fetch github develop:develop
やりたいこと
こんな感じでremoteの develop
ブランチがコミットされたのでlocalの develop
ブランチをfast-forwordマージしたい.
でも今は別のブランチで作業中なので,ブランチの切り替えはしたくない.
fast-forwardマージはマージ時に新しいコミットを作らず,ブランチのポインタの移動だけを行っているはずなので,
どうにかして develop
ブランチ(図の青色の矢印)を指しているポインタをgithub/develop
ブランチ(図の赤色の矢印)に移動させたい.
やったこと
git関連のファイルはリポジトリ内の .git
ディレクトリ以下にある.
ブランチの位置はこの中の refs
ディレクトリで管理されている.
refs
ディレクトリの構成はこんな感じ.
$ tree .
.
├── heads
│ ├── develop
│ ├── feature
│ │ ├── admin_faq
│ │ └── admin_car_option
│ └── master
├── remotes
│ └── github
│ ├── develop
│ ├── feature
│ │ ├── admin_faq
│ │ └── admin_car_option
│ └── selling-car-api
└── tags
gitのブランチに対応するファイルがある.
ファイルの中身は以下のような感じでコミットのSHA-1が保存されている.
$ cat refs/heads/develop
fe98e89d39747474e969131dac97bbb0dfe9427f
github/develop
と同じ所を指すようにすればいいので
heads/develop
ファイルを remotes/github/develop
ファイルで上書き.
cp refs/remotes/github/develop refs/heads/develop
Author And Source
この問題について(ブランチを切り替えずにfast-forwardマージする), 我々は、より多くの情報をここで見つけました https://qiita.com/maisuto/items/a10ec5a8257a8a7a3dce著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .