使用git抓取/更新回购中的特定文件到目录

时间:2017-03-25 17:52:24

标签: git github updates git-clone

我使用git非常新,所以我理解这可能看起来像一个简单的问题,或者之前被问过的问题,但我无法用它来表达答案。反正。

我的想法是我在我的笔记本电脑上编码,当我想把我的程序放在服务器上时,恰好是坐在我桌子底下的覆盆子pi,我就是SCP吧。

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

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

这是简单克隆回购的结果,但我不需要大多数这些文件/目录。我不需要.git,.gitignore或README.mb。我还需要在repo中保留一个凭证,因为它包含bot.py访问的敏感数据。

进行某种“更新”的最佳方式是什么?简单地抓取文件bot.py和我需要的任何其他文件的函数,在本例中为Insult.txt,替换现有副本并保持credentials.json不变,没有其他冗余git文件。

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

这样

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

1 个答案:

答案 0 :(得分:1)

首先,欢迎来到git!

.git.gitignore文件用于git功能。你无法删除它们。它们的大小很小,当你提交和同步时它们不会被“复制”。因此,它们不应该对您的应用程序造成问题。

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

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

  

Rsync是一种快速且极其通用的文件复制工具。它可以通过任何远程shell在本地复制到/从另一个主机复制,或者从远程rsync守护进程复制到远程rsync守护进程。它提供了大量选项来控制其行为的各个方面,并允许非常灵活地指定要复制的文件集。

您可以详细了解here

希望这有帮助。