[解決済み] 前回プルしたときから何が変わったのか、git diff を作成するにはどうすればよいのでしょうか?
2023-08-11 04:20:44
質問
私は、できればrakeで、以下のアクションを1つのコマンドにスクリプト化したいです。
- 私のローカル git リポジトリのバージョンを取得します。
- 最新のコードをgit pullします。
- 手順1で抽出したバージョンから、現在ローカルリポジトリにあるものへの Git diff を取得します。
言い換えると、中央のリポジトリから最新のコードを取得し、前回取り出したときから何が変わったのかの diff をすぐに生成したいのです。
どのように解決するのですか?
refspecsを使えば、かなり簡単にできるはずです。
git pull origin
git diff @{1}..
これで、現在のブランチがプルされる前と後の diff が得られます。もし pull が実際に現在のブランチを更新していなければ、diff は間違った結果を返すでしょう。もう一つの方法は、現在のバージョンを明示的に記録することです。
current=`git rev-parse HEAD`
git pull origin
git diff $current..
私は個人的に、最後のプル以降のすべてのコミットのログを逆順(つまり古いものから新しいものへ)、マージなしで表示するエイリアスを使用しています。私は、私のプルがブランチを更新するたびにこれを実行します。
git config --global alias.lcrev 'log --reverse --no-merges --stat @{1}..
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git のコミットで変更点を確認するには?
-
[解決済み] Git のブランチの一覧を最新のコミット順に表示するにはどうしたらよいですか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
git pushで "Updates were rejected because your current branch is behind "というエラーが報告される。
-
Note: Git prompts このリポジトリで別の git プロセスが実行されているようです ....
-
git reset --hardとgit reset --softの違いについて
-
[解決済み] 単一ファイルのマージをやり直す
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] gitは "サイレントモード "で動作しますか?
-
[解決済み] プル前にローカルとGitHubのリポジトリの差分を確認する方法 [重複]について
-
[解決済み] Git の 'master' ブランチを 'release' にリネームするには?