Git pushing to non-bare repo, save current worktree -
how can push non-bare git repository, automatically add , commit changes in working tree, , re-checkout current branch reflect changes push?
i thinking of this:
add hook on remote (the non-bare repo) run git add . && git commit -m "automated commit" && git reset --hard
are there drawbacks method? there way of doing this?
(disclaimer: know isn't ideal situation, have @ company , want make streamlined possible without needing change way things)
thanks!
after messing around found pretty solution.
pre-receive hook: checks changes in working directory, adds/commits them, alerts user he/she needs merge before pushing
#!/bin/sh cd ../ unset git_dir changed=$(git diff-index --name-only head --) if [ -n "$changed" ];     git add -u .     git commit -m "automated commit"     echo "there uncommitted changes in working directory...please pull them , push changes again"     exit 1 fi  post-receive hook: force checks-out current branch changes shown in working directory. overwrite changes in working directory, have been added/committed/merged pre-receive hook.
#!/bin/sh cd ../ unset git_dir branch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')  git checkout -f $branch   echo "update pushed branch $branch , checked out in website directory"  
Comments
Post a Comment