2017-11-14 23 views
2

だから、基本的には、過去のgitコミットを見るには、git logを実行することを知っています。しかし私の会社では、あるコミットについてgerritで作業し、そのコミットの修正を行います。その特定のコミットに対するすべての過去の修正を確認するにはどうすればよいのですか?ありがとう!ログの修正方法を教えてください

答えて

3

すべての改訂は、同じChange-Idを持っている場合は、持ち運びにくいが1つの変更のパッチセットです。あなたは質問にdiffがどのように表示されるかを指定していないので、ここでは可能な解決策の一つです。

ssh -p <port> <username>@<gerrithost> gerrit query commit:<commit-id> --patch-sets --format=json 
  • portデフォルトでは29418です。
  • usernameは実行するゲリットのユーザ名です gerrit queryです。リポジトリ の参照を読み取る権利を確保する必要があります。
  • gerrithostは、あなたのgerritのホスト名またはIPアドレスです。
  • commit-idは、コミットのsha1値です。
  • --format=jsonはオプションです。デフォルトのフォーマットはtextです。

出力は以下のようなエントリを含む変更のパッチ・セットの詳細を、含まれています

ref: refs/changes/90/812290/3 
ref: refs/changes/90/812290/2 
ref: refs/changes/90/812290/1 

これらはゲリットはすべてのために作成し、引用文献であることがrefs/for先にプッシュされてコミット。番号812290がわかっている場合はchange:812290を使用して、gerrit querycommit:<commit-id>を置き換えることができます。ローカルリポジトリでこれらの引用文献をフェッチ:これらの参照文献によって指し示され

git fetch origin refs/changes/90/812290/3 

コミットがダウンロードされ、その後、あなたが好きなようにそれらを操作するためのgitコマンドを実行することができます。

git diff commit1 commit2 

あなたはより多くを学ぶためにヘリットのドキュメントにgerrit queryを検索することができます。

0

短い答えは、できません。 Atlassian's Git Tutorialsから

改正コミットは、実際には全く新しいコミットしていると以前はもはやあなたの現在のブランチになりませんコミット。

つまり、修正されたコミットにアクセスすることはできません。それらはinteractive rebaseを使用して:(退治はコミットセクション)

別の方法として、あなたは別のコミットなど、すべての変更を適用することができ、あなたがレビューを終えたときにsquashが。同じ変更-IDを、全て「改正」を仮定してい

0

ヘリット・あなたが選ぶことができる
同じヘリット・変更にコミットのセットを関連付ける方法です
(その変更のバージョンを使用します各-他と比較したいと思います。

デフォルトの動作は、最新 1にベースを(最初のセットにコミット)と比較することである。

ローカル(git-)ブランチでは、git reflogコマンドを使用して、変更の異なるバージョン
を表示することもできます。

git reflogは、パンくずのようなあなたの仕事の履歴を示し
、あなたがすることができさえshowcherry-pickそれらのリビジョンのいずれか)

関連する問題