使用 git 到 grab/update repo 中的特定文件到目录

Using git to grab/update specific files in a repo to a directory

我对使用 git 还很陌生,所以我知道这可能看起来像是一个简单的问题或以前有人问过的问题,但我无法用语言表达来获得答案。不管怎样

我的想法是我在我的笔记本电脑上编码,当我想把我的程序放在服务器上时,恰好是 raspberry pi 坐在我桌子下面,我只是 SCP 到它。

我想知道如何使用 git 更新目录中的文件。例如,我需要 运行 机器人是两个文件。

pi@raspberrypi:~/gitDiscordBot/Jarvis $ ls -a
.  ..  bot.py  .git  .gitignore  Insult.txt  README.md

这是简单克隆存储库的结果,但是我不需要其中的大部分 files/directories。我不需要 .git、.gitignore 或 README.mb。我还需要完整地保留一个 credentials.json 文件,该文件不在回购协议中,因为它包含由 bot.py.

访问的敏感数据

制作某种 'update' 函数的最佳方法是什么,它只获取文件 bot.py 和我需要的任何其他文件,在本例中 Insult.txt,替换现有的复制并保持 credentials.json 不变,没有其他冗余 git 文件。

我明白,这可能不是最好的方法,我正在寻找最好的方法,所以请随意反驳我所说的,我不知道是否保留 git 例如,repo 是 good 的东西。但我只需要最新版本的 bot.py 和目录中的其他文件,这样我就可以在我的 pi 上 运行 它们。

这样

$ ls -a
. .. bot.py Insult.txt credentials.json

首先,欢迎来到git!

.git.gitignore 文件供 git 运行。您无法删除它们。它们很小,当您提交和同步时它们不是 "copied"。因此,它们对您的应用程序来说应该不是问题。

对于您的敏感文件credentials.json,您可以将其放入.gitignore 文件中。这样,它就不会包含在任何提交中。你的机器里只有一份。

这种方法很好,效果很好。但是,我认为在你的情况下你需要 rsync 而不是 git。来自官方手册页面:

Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied.

你可以了解更多here

希望对您有所帮助。