2

使用しているスクリプトからリポジトリの最後のコミットを表示する必要があります。

git log -1 --pretty=oneline

そして、ここに質問があります:

  1. この形式で出力したいため、1 行でコミット ハッシュ全体が出力されます。

    git log -1 --pretty=format:%h\ %s\ %an

    ただし、バッチ ファイル内のこのコードの一部は、符号のために変数として認識されます%

  2. ログの表示を終了するには、git bash に直接入力すると完全に機能する文字を送信する必要がありますqが、バッチ ファイルから送信すると、「'q' は内部コマンドまたは外部コマンドとして認識されません」というメッセージが表示されます。

4

2 に答える 2

3

などのコマンドを発行するときにページャーの使用を強制しない限り、git log制御端末がない場合、コマンドは、ページャーqを終了するために入力する必要があるページャーを使用しません。

ここで説明していることをテストするには、次のようにします。

git log -1 --pretty=oneline | cat

cat上記のコマンドの最後での使用に注意してください。

gitそれでも a と入力する必要がある場合は、git にページャーの使用を強制している構成ファイル ( global--または local-- のいずれか)qがないかどうかを確認する必要があります。~/.gitconfig.git/config

次のようなものを使用して、(構成ファイルを変更せずに) git の動作を回避できます。

GIT_PAGER= git log -1 --pretty=oneline

等号と の間のスペースに注意してくださいgit

パーセント記号に関しては、bash 自体によってパーセント記号が変数として解釈されているのがわからないため、おそらく環境に関する詳細を提供する必要があります。

于 2013-01-08T15:11:42.947 に答える
1

「q」の質問については:

git --no-pager
于 2016-02-29T17:58:19.903 に答える