git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: post-receive for web deployment

From
SMStephen Major <smajor@gmail.com>
Date
Dec 19, 2011, 12:42 UTC
Message-ID
<CALzTOmJacwJFNJJo6Y7kjq2pVP8DcgYfWf=bsD0m9oK1XsZ9Yw@mail.gmail.com>
In-Reply-To
<CAMK1S_hjncBxdh4+UXAJbtJnsPWZUpWASyixG8eNcpFLMRpLgw@mail.gmail.com>

After some playing I found using git clone to export to the staging path and then doing git checkout -f master for the production path keeps the files in the production tree clean while leaving any un-tracked files in tact, seems what Johannes said was true and this seems like a simple workaround... not sure about working with indexes like he pointed out.

echo "Resetting staging tree" rm -rf staging.git $staging_path git --work-tree=$staging_path clone ./ staging.git

echo "Resetting production tree" git --work-tree=$live_path checkout -f master

On Mon, Dec 19, 2011 at 2:35 AM, Sitaram Chamarty <sitaramc@gmail.com> wrote:
Show 14 quoted lines
> On Mon, Dec 19, 2011 at 8:12 AM, Stephen Major <smajor@gmail.com> wrote:
>> Hello,
>>
>> I am having some difficulty understanding what I am doing wrong when
>> working with git to deploy a website through the use of a post-receive
>> hook on the remote.
>
> The most common issue I have seen in cases like this is that you need
> to 'unset GIT_DIR'.  In fact, anytime you play around with running
> stuff from *inside* a hook that works fine when you run it from
> outside, you need to check what GIT_ variables are present.
>
> I believe 'unset `git rev-parse --local-env-vars`' is a good idea too;
> probably much simpler.
Previous: Sitaram Chamarty
Message 4 of 4 in “Re: post-receive for web deployment”
  1. Stephen MajorDec 19, 2011
  2. Johannes SixtDec 19, 2011
  3. Sitaram ChamartyDec 19, 2011
  4. Stephen MajorDec 19, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.