質問編集履歴

4 質問内容の修正

退会済みユーザー

退会済みユーザー

2019/04/24 14:46  投稿

git rebase の使い方
過去に追加した機能がステージングでまだ動作確認が終わらず
それ以降追加された機能が本番デプロイできないので
いったんその機能だけを無効にしたいと思っています
git rebase というのを使えばできるみたいなのですが使い方がわかりません
`git log` でコミットを確認して
`git rebase -i xxxxxxxxx` で消したいコミット番号を指定したところ
vi の画面がでてきてそこには確かに指定したコミットはでてきていないので
そのまま Shift+Z+Zで保存して
'git log' をしたのですがコミット履歴には残っていてファイルも変更されていません
rebase の画面に
```
Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
```
というのがあったのでもう1度実行して
ためしに d をおしてみると1行目の関係ないコミットが消えてしまい
あわてて :q! をしたのですが
`Successfully rebased and updated`
とでてしまって conflict したような状態になってしまいました
both modified になってるファイルをコミットして both-modified がなくなったにもかかわらず
(シェルのプロンプトにブランチ名を表示する機能がついてるのですが)
ブランチの状態が |rebase というのがついたまま消えず stash や checkout ができません
何がどうなってるのかさっぱりわからないので
いったん rebase 前の状態に戻す方法と
再度 rebase のやり方を教えていただけないでしょうか
よろしくお願いいたします
## 追記:
rebase 前には戻せたのですがやはり rebase の使い方がよくわかりません
git rebase -i xxxxxxxxxx
消したいコミットがリストにでてくるようになったのですが
1つ前のコミットを指定すると消したいコミットがリストにでてくるようになったのですが
その行で d を押しても何も起こりません
その後カーソルキーを右に動かそうとすると1文字だけ消えて
下に動かそうとすると2行1度に消えてしまいます
下に動かそうとすると次の無関係のブランチごと2行1度に消えてしまいます
気にせず保存してしまっていいのでしょうか…
しかも :q! でキャンセルしようとしても毎回
`Successfully rebased and updated`
となってしまうのですが毎回何か変更がされてしまっているのでしょうか
vi の環境の問題なのでしょうか…
使ってるものは
macOS 10.13.6
iterm2 3.2.9
zsh 5.6.2 (x86_64-apple-darwin17.7.0)
VIM - Vi IMproved 8.0
です
  • Git

    2498 questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

3 追記

退会済みユーザー

退会済みユーザー

2019/04/24 14:45  投稿

git rebase の使い方
過去に追加した機能がステージングでまだ動作確認が終わらず
それ以降追加された機能が本番デプロイできないので
いったんその機能だけを無効にしたいと思っています
git rebase というのを使えばできるみたいなのですが使い方がわかりません
`git log` でコミットを確認して
`git rebase -i xxxxxxxxx` で消したいコミット番号を指定したところ
vi の画面がでてきてそこには確かに指定したコミットはでてきていないので
そのまま Shift+Z+Zで保存して
'git log' をしたのですがコミット履歴には残っていてファイルも変更されていません
rebase の画面に
```
Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
```
というのがあったのでもう1度実行して
ためしに d をおしてみると1行目の関係ないコミットが消えてしまい
あわてて :q! をしたのですが
`Successfully rebased and updated`
とでてしまって conflict したような状態になってしまいました
both modified になってるファイルをコミットして both-modified がなくなったにもかかわらず
(シェルのプロンプトにブランチ名を表示する機能がついてるのですが)
ブランチの状態が |rebase というのがついたまま消えず stash や checkout ができません
何がどうなってるのかさっぱりわからないので
いったん rebase 前の状態に戻す方法と
再度 rebase のやり方を教えていただけないでしょうか
よろしくお願いいたします
追記:
## 追記:
rebase 前には戻せたのですがやはり rebase の使い方がよくわかりません
git rebase -i xxxxxxxxxx
で消したいコミットがリストにでてくるようになったのですが
その行で d を押しても何も起こりません
その後カーソルキーを右に動かそうとすると1文字だけ消えて
下に動かそうとすると2行1度に消えてしまいます
気にせず保存してしまっていいのでしょうか…
しかも :q! でキャンセルしようとしても毎回
`Successfully rebased and updated`
となってしまうのですが毎回何か変更がされてしまっているのでしょうか
vi の環境の問題なのでしょうか…
使ってるものは
macOS 10.13.6
iterm2 3.2.9
zsh 5.6.2 (x86_64-apple-darwin17.7.0)
VIM - Vi IMproved 8.0
です
  • Git

    2498 questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

2 追記

退会済みユーザー

退会済みユーザー

2019/04/24 14:45  投稿

git rebase の使い方
過去に追加した機能がステージングでまだ動作確認が終わらず
それ以降追加された機能が本番デプロイできないので
いったんその機能だけを無効にしたいと思っています
git rebase というのを使えばできるみたいなのですが使い方がわかりません
`git log` でコミットを確認して
`git rebase -i xxxxxxxxx` で消したいコミット番号を指定したところ
vi の画面がでてきてそこには確かに指定したコミットはでてきていないので
そのまま Shift+Z+Zで保存して
'git log' をしたのですがコミット履歴には残っていてファイルも変更されていません
rebase の画面に
```
Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
```
というのがあったのでもう1度実行して
ためしに d をおしてみると1行目の関係ないコミットが消えてしまい
あわてて :q! をしたのですが
`Successfully rebased and updated`
とでてしまって conflict したような状態になってしまいました
both modified になってるファイルをコミットして both-modified がなくなったにもかかわらず
(シェルのプロンプトにブランチ名を表示する機能がついてるのですが)
ブランチの状態が |rebase というのがついたまま消えず stash や checkout ができません
何がどうなってるのかさっぱりわからないので
いったん rebase 前の状態に戻す方法と
再度 rebase のやり方を教えていただけないでしょうか
よろしくお願いいたします
よろしくお願いいたします
追記:
rebase 前には戻せたのですがやはり rebase の使い方がよくわかりません
git rebase -i xxxxxxxxxx
で消したいコミットがリストにでてくるようになったのですが
その行で d を押しても何も起こりません
その後カーソルキーを右に動かそうとすると1文字だけ消えて
下に動かそうとすると2行1度に消えてしまいます
気にせず保存してしまっていいのでしょうか…
しかも :q! でキャンセルしようとしても毎回
`Successfully rebased and updated`
となってしまうのですが毎回何か変更がされてしまっているのでしょうか
vi の環境の問題なのでしょうか…
使ってるものは
macOS 10.13.6
iterm2 3.2.9
zsh 5.6.2 (x86_64-apple-darwin17.7.0)
VIM - Vi IMproved 8.0
です
  • Git

    2498 questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

1 質問内容の修正

退会済みユーザー

退会済みユーザー

2019/04/24 13:01  投稿

git rebase の使い方
過去に追加した機能がステージングでまだ動作確認が終わらず
それ以降追加された機能が本番デプロイできないので
いったんその機能だけを無効にしたいと思っています
git rebase というのを使えばできるみたいなのですが使い方がわかりません
`git log` でコミットを確認して
`git rebase -i xxxxxxxxx` で消したいコミット番号を指定したところ
vi の画面がでてきてそこには確かに指定したコミットはでてきていないので
そのまま Shift+Z+Zで保存して
'git log' をしたのですがコミット履歴には残っていてファイルも変更されていません
rebase の画面に
```
Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
```
というのがあったのでもう1度実行して
ためしに d をおしてみると1行目の関係ないコミットが消えてしまい
あわてて :q! をしたのですが
`Successfully rebased and updated`
とでてしまって conflict したような状態になってしまいました
both modified になってるファイルをコミットして both-modified がなくなったにもかかわらず
シェルのプロンプトにブランチ名を表示する機能がついてて
(シェルのプロンプトにブランチ名を表示する機能がついてるのですが)
ブランチの状態が |rebase というのがついたまま消えず stash や checkout ができません
何がどうなってるのかさっぱりわからないので
いったん rebase 前の状態に戻す方法と
再度 rebase のやり方を教えていただけないでしょうか
よろしくお願いいたします
  • Git

    2498 questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る