1

具体来说,我将在下面列出我的情况,

  1. 我在我的 Windows 机器上安装了本地 git 版本,这是我进行开发的地方(在开发人员分支中)。

  2. 然后我将它上传到开发者子域服务器进行测试,一旦测试完成,我将本地 git 提交到基于 bitbucket 的远程存储库(那里的开发者分支)。

  3. 在我的本地和 bitbucket 中,当我到达特定点时,我都会合并它们。

这一切看起来都很好,对我来说工作正常,但是当我想将修改后的文件移动到实时服务器(真实的实时网站)时,我的问题就来了,最好的方法是什么?其中出来一一上传检查更改的文件...

我的实时服务器中也安装了 git,但我需要知道,

  1. 如何从 bitbucket 拉取我的 live git?
  2. 如果我拉动它会覆盖用户文件/文件夹,例如用户上传的图像(在 git 中显然没有跟踪)
  3. 如果想取消跟踪文件,前用户上传文件/我使用 rm -rf {filename} 但在这种情况下它从操作系统中删除了文件,有没有办法在不删除的情况下取消跟踪。
  4. 还是在 git 中跟踪包括用户文件在内的所有内容是个好主意?

我对 git 很陌生,所以请给我一些关于如何在 git 中进行适当开发、本地和实时版本的建议。

谢谢

4

1 回答 1

0
  1. 您设置了一个可以推送到的裸仓库。然后,一个 post-receive 钩子可以切换回您的非裸实时 repo,并从您的裸 repo 中拉取 git。“远程裸机上的 Git 子模块
    ”中的所有详细信息(您可以忽略“子模块”部分)
  2. 不,它不会覆盖未跟踪的文件
  3. 如果这些文件最初未被跟踪,则您无需执行任何操作。
    如果您的 repo 包含您希望暂时忽略的任何文件,您可以使用git update-index --assume-unchanged它们。
    请参阅“ git commit config on initial commit 但再也不会?
  4. 不,如果文件纯粹是环境的本地文件,则不需要将它们包含到 git repo 中(它被克隆了很多)
于 2012-04-10T06:02:14.847 回答