我目前为我的网络应用程序进行了这种设置
- 笔记本电脑中应用程序的开发副本,这是我进行所有编码的地方。
- 一个裸仓库(在我的 Web 服务器的 /projects/test.git 文件夹中使用git init --bare )。另外,我添加了一个后期接收。
作为
#!/bin/sh
GIT_WORK_TREE=/public_html/projects/test git checkout -f
- 我在笔记本电脑上进行了更改。做一个git add 。, git commit和git push web master。
我的问题是它会重置 /public_html/projects/test 中的文件以使其与开发存储库保持同步,还是只会推送更改。这个问题是,当人们在网络应用程序上上传内容/提交内容时,它会添加到 /public_html/projects/test/uploads 文件夹中,我担心它是否会每次都用我的开发副本替换上传的内容。此外,我无法将 /uploads 添加到 .git_ignore ,因为当我通过开发机器进行一些上传然后进行推送时,我希望这些文件也被添加到 public_html 生产版本中。那么,这是如何git checkout -f
工作的呢?