2017-03-25 15 views
0

私はgitの使い方がとても新しくなっているので、これは簡単な質問や以前に尋ねられたように思えるかもしれませんが、答えを得る。とにかく。gitを使ってリポジトリ内の特定のファイルをディレクトリに更新する

自分のラップトップにコードを書いていますが、私のプログラムをサーバーに置いているときに、ラズベリーパイが私の机の下に座っています。

gitを使ってディレクトリ内のファイルを更新する方法が不思議でした。たとえば、ボットを実行するために必要なのは、2つのファイルです。

[email protected]:~/gitDiscordBot/Jarvis $ ls -a 
. .. bot.py .git .gitignore Insult.txt README.md 

これは単にレポを複製した結果ですが、これらのファイルやディレクトリはほとんど必要ありません。 .git、.gitignore、README.mbは必要ありません。また、bot.pyがアクセスする機密データが含まれているので、credentials.jsonファイルをrepoにないtactに保管する必要があります。

bot.pyやその他の必要なファイル(この場合はInsult.txt)を単に取り込み、既存のコピーを置き換えてcredentials.jsonを手つかずのままにする、何らかの種類の更新機能を作成する最も良い方法は何ですか他の冗長なgitファイルはありません。

私は最高のアプローチではないかもしれないことを理解していますので、私が言っていることと矛盾するように自由に感じてください、私はgit repoを維持するかどうかはわかりません良いものなど。しかし、私が必要とするのは、botの最新バージョンとディレクトリ内の他のファイルだけで、私はそれらを私のpi上で走らせることができます。

このようなすべての

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

答えて

1

最初のことを、gitのを歓迎します!

.gitおよび.gitignoreファイルはgitが機能するためのものです。削除することはできません。サイズは小さく、コミットと同期を行うときには「コピー」されません。したがって、あなたのアプリケーションには問題ありません。

機密ファイルの場合は、credentials.json.gitignoreに入れることができます。この方法では、コミットには含まれません。あなたのマシンには1つのコピーしかありません。

このアプローチはうまくいき、うまく機能します。しかし、あなたのケースでは、gitではなくrsyncが必要だと思います。公式のマニュアルページから:

Rsyncは高速かつ非常に汎用性の高いファイルコピーツールです。ローカルシェル、リモートシェル、またはリモートrsyncデーモンとの間で別のホストと/からコピーすることができます。それは、その動作のあらゆる側面を制御し、コピーされるファイルのセットの非常に柔軟な仕様を可能にする多数のオプションを提供する。

詳細については、hereをご覧ください。

これが役に立ちます。

関連する問題