質問

私は、プロジェクトのために開発者の小さなチームでgitとgithubを使用しています。仕方がありませんが、私たちは正しくやっていないと思います。他の人がプロジェクト内でこのワークフローをどのように使用しているか聞いてみたいです。

使用方法: 各変更の前に分岐し、マスターにマージしてローカルにコミットし、githubリポジトリにプッシュします。次に、テスト環境にsshして、githubリポジトリのmasterブランチをプルします。まだ rebase fetch 、または tagging をまだ把握していません。

使用方法: 別のサーバーにsshして、「フェーズ1」などの特定のタグ付きバージョンをプルできるようにしたいと思います。サーバーに。これは可能ですか、または2つの異なるgithubリポジトリが必要ですか?

git pull Webサーバーへの特定のブランチを作成するか、 git push への新しいエイリアスを作成することになっていますか?

1つのgitリポジトリ内でリリース候補または環境(テスト、開発、本番)を制御できますか?または複数必要ですか?

プルが解決策である場合、特定の tag をプルできますか?

役に立ちましたか?

解決

基本的に、1つの「中央」で十分に機能します。 GitHubリポジトリ。

  • タグは不変のポインターであり、いつでも使用(およびプッシュ)して、テスト環境または実稼働環境にチェックアウトすることができます。これにより、いくつかの検証を実行できますが、通常は開発には役立ちません。
  • ブランチをプルするということは、そのブランチ内でいくつかの進化を行い(バグ修正とコードが本番環境になった後に行う調整のため)、他のすべての開発者のリポジトリにプッシュして戻すことができることを意味しますアカウントに。

そのため、それらのサーバーで何をしているのかによって異なります:検証(ステータスが承認または拒否)のみ、またはさらなる開発。
いずれの場合も、適切な命名規則を持つタグは履歴内の特定のコミットを追跡するのに便利ですが、開発作業を分離する必要があるたびにブランチが必要です。

他のヒント

Pro Gitブックを読んでください。 gitのmanページを1年間読むことはできますが、それでも理解できません。manページを読むことでgitを学ぶことは、辞書を読むことで新しい言語を学ぶことと同じです。この本では、gitで使用できる少数のワークフロー、使用するgitコマンド、および使用するコンテキストを説明しています。

GitHubでは、会社のアカウントを1つ使用します。コードは生きています。それから私は個人的なフォークを維持します。そこではまだ安定していないものに取り組んでいます。ローカルマシンでは、両方を1つのリポジトリで処理するため、マスターは祝福されたコードであり(そして会社のアカウントにプッシュされます)、他のすべてのブランチはフォーク用です。これが私の.git / configの一部です:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com:xiongchiamiov/fourU.git
[branch "hacking"]
        remote = origin
        merge = refs/heads/hacking
[branch "editor"]
        remote = origin
        merge = refs/heads/editor
[branch "problem-utils"]
        remote = origin
        merge = refs/heads/problem-utils
[branch "tests"]
        remote = origin
        merge = refs/heads/tests

[remote "trunk"]
        fetch = +refs/heads/*:refs/remotes/trunk/*
        url = git@github.com:xyztextbooks/fourU.git
[branch "master"]
        remote = trunk
        merge = refs/heads/master

会社のレポジトリのコミット権限があるため、あるブランチから別のブランチにコミットをマージ(またはチェリーピック)し、適切な場所にプッシュすることができます。さて、別個のリポジトリは確かに必要ではありませんが、これはオープンソースのプロジェクトなので、「公式」を維持したいです。接線によって作成されたランダムな分岐のないレポ。バージョン管理を取得するポイントに達すると、各バージョン(0.1、0.1.1、0.2など)のタグを持つ0.xブランチがあります。これは、GitHubがファイルのtarballを自動的に作成するため、特に有利です。各タグで、完全な履歴を必要としないマシンに特定のバージョンをプルダウンするのに最適です。

githubブログを読む必要があります。展開ワークフローについて説明した素晴らしい投稿があります。もちろん、これにはgitが大きく関与しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top