web-dev-qa-db-ja.com

3つのコミットを1つに潰す方法は?

私はgitにかなり慣れていないので、3つのコミットを1につぶしてPRをマージできるようにする方法を見つけようとしています。多くのドキュメントとガイドを読み、コミットをスカッシュする方法を見つけましたが、コミットの1つが表示されません。 「git rebase -i HEAD〜5」と入力すると、コミットの写真と端末の写真を添付し​​てみましたが、残念ながら私は新しいユーザーなので、できませんか?とにかく、私はいくつかの助けをいただければ幸いです。

9
Kaycee

3つのコミットを1つに潰す方法は?

  • git logを実行して、スカッシュしたいコミットが最初にコミットされたことを確認します。
  • 頭からトップ3のコミットをスカッシュしたい場合は、

このコマンドを使用

git rebase -i HEAD~3

ここで、チルド〜記号3は、最新の3つのコミットを選択します。対話型のシェルにポップアップ表示され、トップコミットを選択し、sと入力して他の2つのコミットを1つにつぶすことができます。これはスカッシュを意味します。

コミットが表示されない場合は、git logを実行して、表示されない場合は確認してください

git add files
git commit -m 'your commit'
12
danglingpointer

2016年4月1日以降、リポジトリ管理者は プルリクエストのスカッシング を実行できるようになりました。ただし、これを自分で行うように要求されている場合は、次のようにします。

  1. これはSOレスポンスでカバーされます
  2. Eli Benderskyによるこの記事もこれをカバーしています
1
user4592495

PRをマージするときに、GitHubにSquash And Mergeオプションがあります。だから、あなたがあなたの側でする必要があることは何もありません、マージするときにオプションのスカッシュとマージを使用してください。

詳細はこちら https://help.github.com/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits

0
Ivan86

コミットのスカッシュとは、いくつかではなく新しいコミットを作成することを意味します。 git resetをブランチのベースコミットに追加し、新しいものを作成します。次にgit Push -fをブランチに追加します。

0
Raz