我的系统是centos7。
我使用git ls-files
来获取git跟踪的文件。
并使用git lfs ls-files
获取git-lfs跟踪的文件。
但是在我的开发目录中,有一些文件夹和文件不应被版本控制软件(例如userdata
,upload/avatar
)跟踪。
假设stackoverflow是我的网站。像你和我这样的用户将上传头像。这些文件经常更改,并且不应该被git跟踪。
当我将这些文件部署到生产服务器时,这些文件是必需的,然后我想到了:
Git具有git clean -f -d
之类的功能,但我不想删除,仅列出那些文件。
rsync -aH not_tracked_files root@production server:/home/mywebsite
。
我不知道如何在rsync脚本中获取not_tracked_files
。
答案 0 :(得分:0)
如何查找git无法跟踪的文件
它们需要存储在另一个引用(不是您的Git存储库)中,并在部署过程中获取(涉及rsync)
它可以是私有Nexus服务器,可以是私有共享文件夹,远程驱动器(onedrive / Google驱动器,AWS ...),甚至是保管库,但它不应是您当前的Git存储库。 / p>
面临的挑战是非“无法由Git跟踪”文件的版本:如果它们不经常更改,则可以将它们静态地存储一次,并在部署时进行检索。
如果它们定期更改,则需要在Git存储库中跟踪对这些文件的正确版本的引用(有点像lfs对于大型文件,它们也存储在其他位置)
假设stackoverflow是我的网站。像你和我这样的用户将上传头像。这些文件经常更改,并且不应该被git跟踪。
这些工件类型很特殊,因为您通常只需要它们的最新版本。
可以在独立的引用中对其进行管理。例如,GitHub通过其自己的(历史)服务gravatar.com
管理其头像。
这意味着您要部署的内容应该是: