0

これが私の現在のリポジトリで、作業ディレクトリとして作成しました。

ここに画像の説明を入力

ご覧のとおり、以下に示す内容の BAT ファイル「backup.cmd」があります。

"C:\Program Files (x86)\Git\bin\git.exe" add . && "C:\Program Files (x86)\Git\bin\git.exe" commit -am "Periodic Backup %DATE%" 

現在、Windows 7 でタスク スケジューラを設定して、このリポジトリへのバックアップを毎週作成できるようにしています。ただし、これらのファイルの変更をコミットする場合には問題があります。

問題は、BAT ファイルを実行すると、Git が変更をコミットできないことです。変更をコミットできない原因は、作業ディレクトリにある「.git」フォルダーが原因です。

「.gitignore」と「.git/info/exclude」を使用して「.git」ディレクトリを無視/除外しようとしましたが、それでも変更をコミットできません。「.git」ディレクトリを無視/除外する他の方法は知りません。

誰でもこれについて私を助けることができますか? 前もって感謝します。

4

2 に答える 2

0

毎回ディレクトリをステージングする代わりに(git add .)、を使用git add -Aしてすべての新しいファイルをステージングします。ディレクトリの存在は.git、リポジトリがすでに初期化されていることを示しており、各バッチ実行中にステージングする必要はありません。 git add -Aすべての変更された新しいファイルをステージングします。これはあなたが望むもののようですが、あなたが好むかもしれませんgit add -u

于 2012-10-31T11:26:30.563 に答える
0

@hammar のおかげで、自分の問題が何であるかがわかりました。

タスク スケジューラは、コマンド プロンプトで使用できる GIT コマンドがない場所でバッチ ファイルを実行していたため (つまり、既定の場所 (C:\Windows\system32) でコマンドを実行していたことを意味します)、次のようなエラーが出力されます。その「.git」は存在しません。

修正方法は、場所を実際の G​​IT リポジトリに変更してから、バッチ コマンドを再実行することです。これにより、タスク スケジューラがコマンドの処理方法を認識できるようになります。

于 2012-10-31T13:16:54.177 に答える