Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git post-receive to checkout only those files that have been modified/added in the push?

Tags:

git

I have been using post-receive scripts in my git repositories with the following commands to checkout all of the files in the repository:

#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f

I am wanting to do something similar but only checkout the files that have been modified or added in the push. Once the files have been checked out the post-receive script will then run some other commands on these files and remove the files at the end so that the directory will be empty.

Is this possible?

like image 347
startupsmith Avatar asked Feb 28 '12 08:02

startupsmith


1 Answers

you can use git diff to give you a list of files

git diff --name-only from..to

in a post-receive hook that'll be I think

git diff --name-only $1..$2

as this hook receives oldrev, newrev and ref on standard input

like image 77
AD7six Avatar answered Sep 30 '22 19:09

AD7six