Gitでバージョン管理しているのですが、コミットしたファイルをFTPにアップロードする際に、上記ファイルのみを取得するにはどうすればよいでしょうか? ※これがわからないため、結局、全てのファイルをアップロードしないとならないので。。。
git log --name-only --oneline -1
です。しかし、開発がモダンなのにアップロードがFTPというミスマッチ…いまどきだったらgit pushでアップロードしたいですよね。
す、すみません。ログの取得はできていたのですが、ファイル自体を取得したいのです。mergeディレクトリとか出来て、そこに差分と同様のディレクトリ構造でファイルも存在してくれれば、それをそのままFTPに投げれば良くなるので。。。
上記のコマンドの結果をシェルスクリプトなりバッチファイルなりで加工するだけです。Windowsですか?UNIX系ですか?
ありがとうございます。Windowsです。
そしたら、該当ファイルを temp ディレクトリにコピーするにはfor /f /skip=1 %i in (`git log --neme-only --oneline -1`) do copy %i tempみたいにやればいいんじゃないでしょうか。
コマンドプロンプトでエラーでした。
for /f "usebackq skip=1" %i in (`git log --name-only --oneline -1`) do copy %i tempこれでどうかな?
あー、パス区切り文字がスラッシュだからコピーコマンドがうまく動きませんね。Git Shell 上でシェルスクリプトでやってもらった方がいいですか。
Git Shell上でなら、
for i in `git log --name-only --oneline -1 | tail -n +2`; do cp $i temp; done
こんな感じですかね。
ディレクトリ構造をコピー先にも再現したければ
for i in `git log --name-only --oneline -1 | tail -n +2`; do cp -P $i temp/$i; done
こうなります。
ありがとうございました!
コメントはまだありません
これ以上回答リクエストを送信することはできません。制限について
ログインして回答する
ディレクトリ構造をコピー先にも再現したければ
こうなります。
2014/05/27 12:30:03ありがとうございました!
2014/05/27 18:32:57