私が最後に押したことを知りたいのですが、私がコミットした最後のことではなく押してしまいました。Gitは私が押した最後のコミットを見つけた
このためのgitコマンドはありますか?
コンテキスト: 私は、masterブランチで私のdev_branchをマージする前に、いくつかのコミットを押しつぶすしたいが、私は(これは本当ですか?)あなたは既にプッシュされる何かをリベースすることはできませんと言われています。
私はこのリベースに含まれていない最後のコミットを知りたいと思います。
私が最後に押したことを知りたいのですが、私がコミットした最後のことではなく押してしまいました。Gitは私が押した最後のコミットを見つけた
このためのgitコマンドはありますか?
コンテキスト: 私は、masterブランチで私のdev_branchをマージする前に、いくつかのコミットを押しつぶすしたいが、私は(これは本当ですか?)あなたは既にプッシュされる何かをリベースすることはできませんと言われています。
私はこのリベースに含まれていない最後のコミットを知りたいと思います。
あなたは最後のコミットを意味する場合は、リモートでorigin
であると仮定すると、その後、master
ブランチにプッシュ:、
git rev-parse origin/master
これはあなたorigin
起源のmaster
枝の先端のコミットIDが表示されますローカルのリポジトリが現在認識しているので、これは、コミットが他の誰かのコミットであることを意味します。実行した後に他の誰かがコミットをプッシュし、そのブランチがfetch
であった場合です。
git show -p origin/master
このコマンドは、コミットID、作成者、ログメッセージ、およびその親コミットに対するdiffを含むコミットに関する情報を提供します。私のお気に入りのGitの
一つの検査のまさにこのようなものを行うためのコマンド:
git log --pretty=oneline --abbrev-commit --graph --decorate --all
これは、コミットの歴史の素敵なアスキーアートのグラフが表示され、それぞれがいることを任意の引用文献が表示されますコミットそれをターゲットにしています。このようにすれば、一目で分かり、歴史の中の分岐や合併を見ることができ、origin/master
があなた自身のmaster
に関連している場所を簡単に見ることができます。
最後のコマンドが素晴らしい、本当に便利なcdhowieです! 私はおそらく別々の質問でこれを頼むべきであるが、何 良く考えられていることは-i は、私が何をしたいのか、主人と私のdevのブランチをマージするが、私の100を持っている --squashをマージ-gitリベース-git + 4のように圧縮されたコミット。歴史の中におそらく4つの重要ポイントがあるので、1ではない。 – chrispepper1989
あなたのdevブランチをプッシュした後、それを押しつぶすことは悪い考えである。公開している場合は変更しないでください。それが公開されていない場合、 'git rebase -i'は、あなたが履歴に残したいと思うコミットと、あなたがそれらに押しつぶしたいものを選択させます。 'git merge --squash'はコミットを1つだけ作成する機会を与えます。最終的には、コミットするオブジェクトの数に依存します。 – cdhowie