2017-04-08 12 views
0

だから、私はGitには新しいです。私はrepos、コミット、プッシュ、マージなどの方法を知っています。マスターブランチのファイルを実行するにはどうしたらいいですか?

しかし、私はばかげているかもしれない質問があります。

毎日特定の時刻に実行されるスクリプトがあります。

新しい機能を開発するために新しいブランチを作成すると、古いファイルをどのように継続して実行できますか?

python3 file_v1

私の前のGit日で、私はシンプル、作成file_v2を持っているとfile_v1ランニングを保ちます。私はこの古風を知っています。しかし、解決策を感謝します。

+0

@sajibkhanしかし、それは私の新しい機能の開発に1日もかかりません(それ以上の時間がかかります)。その間、コードは毎日実行し続ける必要があります。 – maximusdooku

答えて

1

あなただけの二つの選択肢があります。

  1. は、そのGitのリポジトリ(または少なくとも仕事木)のうち、ファイルを実行しないでくださいを。

    これはの外にあるすべてのリポジトリ、または(あなたのシステム上の別のディレクトリにある)リポジトリの異なるgit cloneのうち何をファイルを実行していない、または別の作業ツリーを作るためにgit worktree addを使用して意味するかもしれませんそれはそれ自身の別の支店にとどまっています。

    これらの3つのケースでは、ファイルへのパスは/path/to/repo/fileではなく、/path/to/somewhereelse/fileなどとなります。従って、/path/to/repo/fileに何が起こっても、periodicコマンドは何か他のものを実行します

  2. file_not_being_developedなどの代替名の下に「安定した」ファイルを保存してください。

    そのようにして、/path/to/repo/file_not_being_developedを実行すると、その周辺のすべてのファイルが変更されていても、常に安定版が実行されます。

    このファイルをコミットする(すべてのブランチで各コミットにコピーする)か、.gitignore -edでコミットしないようにすることができます(ブランチにコピーがないように、 )。いつ、どのように更新するかはあなた次第です。

おそらく、方法2は劣っています(自分では使用しません)。

+0

だから、これはfile_v1、file_v2と異ならない。私はgitにはこのための組み込みのソリューションがあると思っていたでしょう。しかし、明確化のおかげで。 – maximusdooku

+0

正しい。特定のファイルをGitから抽出する場合は、 'git show 'とすることができます。しかし、あなたはどこからでもファイルを抽出しなければならないでしょう(例えば 'master'から)。そして、それはcronジョブであればあなたのcronジョブが見つけることができるか、またはあなたのcronジョブがファイルそれを実行してください。これは同じことになります。 – torek

+0

私はちょうど別のクローンを作って走らせると思う。複雑ではないようです。メインブランチを更新するたびに、同期します。 – maximusdooku

0

あなたはGitチェックアウトがworktreeを更新した後に実行されたときにこのフックが呼び出される

post-checkout Gitのフックを使用することができます。

--no-checkout(-n)オプションが使用されていない限り、git cloneの後にも実行されます。フックに与えられた最初のパラメータはnull-refであり、2番目のパラメータは新しいHEADのrefであり、フラグは常に1です。

このフックは、リポジトリの妥当性チェックを実行し、異なる場合はHEAD、または作業ディレクトリのメタデータプロパティを設定します。

そのあなたがチェックアウトブランチ必要なパラメータをあなたが欲しいもの(例えばcronジョブ)を実行し、それをパスするスクリプトを書き出すときに、あなたが

:-)

を求め、まさに。

+0

私はgitフックについて知らない。特定のファイルをどのように実行するかの例を挙げてください。 – maximusdooku

+0

ファイルを作成してスクリプトを実行するだけです。ここにサンプルフックがあります:http://stackoverflow.com/questions/35400416/what-are-some-more-forceful-ways-than-a-gitignore-to-keep-force-files-out-of/35400472# 35400472 – CodeWizard

関連する問題