7

Windows 7では、いくつかのリポジトリのステータスをチェックし、リターンをファイルに出力するためのバッチファイルがあります(標準のpowershell発行のgitコマンドを使用)。

これは、git shell から起動すると正常に動作します。私の質問は、最初に git shell を起動せずにこれを行うにはどうすればよいですか?

したがって、標準プロンプトまたは実行可能なバッチ ファイルに、git シェルで特定のバッチ ファイルを起動するコマンド / コマンドを入力できるようにしたいと考えています。

4

2 に答える 2

4

何をするかを考えれば、スクリプト内の git コマンドの前にgit-cmd.bat正しい変数を設定するだけで済みます。%PATH%

そうしないと、次のように表示されます。

C:\Users\VonC>git --version
'git' is not recognized as an internal or external command,
operable program or batch file.

msysgitの最新のポータブル バージョンを解凍しました。

次の内容のスクリプトを任意の場所に配置しtest.batます (したがって、powershell は関係ありません)。

@setlocal

@set git_install_root="C:\Users\VonC\prg\PortableGit-1.7.11-preview20120620"
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH%

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

@set PLINK_PROTOCOL=ssh

REM here is the specific git commands of your script

git --version
echo %HOME%
git config --global --list

HOMEGit はそこでグローバル git 構成を探すため、 が正しく設定されていることを確認してください。

結果は次のようになります。

C:\Users\VonC>cd prog\git

C:\Users\VonC\prog\git>s.bat

C:\Users\VonC\prog\git>git --version
git version 1.7.11.msysgit.0

C:\Users\VonC\prog\git>echo C:\Users\VonC
C:\Users\VonC

C:\Users\VonC\prog\git>git config --global --list
user.name=VonC

注:同じスクリプトは、powershell セッションから完全に機能します。

于 2012-06-30T11:15:19.020 に答える
2

あなたの git 実行可能ファイルは、コマンド ラインで使用するためにアクセスできないようです。

c:\Users\[your_login]\AppData\Local\GitHub\PortableGit_[hash]\bin(またはc:\Users\[your_login]\AppData\Local\GitHub\PortableGit_[hash]\cmd) を Path 変数に追加するだけです。[your_login][hash]を実際のデータに置き換えます。

ただし、ファイルの場所はバージョンごとに変わると思いますので、git のヘビー ユーザーの場合は、msysGitのインストールを検討してください。実行可能ファイルがシステム パスに自動的に追加されます (対応するオプションはセットアップ中に利用可能です)。

さらに、Windows で UTF-8 を完全にサポートしていると主張するmysysGit-UTF8というプロジェクトがあります。私は違いに気づきませんでした。

于 2012-07-03T07:34:23.867 に答える