2017-09-26 2 views
0

それで、自分の時間に小さなプロジェクトで遊んで、それはもっと何かになった。今度は、Gitlabレポを「真実の源」として、ジェンキンスと共に、最終的には本番環境に展開できるようにしたいと考えています。私たちは個人的なものではないと思っています。gitlab/gitでは、どのリポジトリを「真のソース」に切り替えることができますか?

しかし私は、コマンドラインから、またはGitlabウェブコンソール内で、どのように新しいリポジトリを作成して他のすべてのフォークから派生させるのかを理解することはできません。私は単にGitlabでフォークを試みましたが、自分の「個人的な」フォークを変更すると、「マージリクエスト」オプションを使って新しい「アップストリーム」レポにそれらをプッシュすることはできません。他の方向への作業だけをマージします。

私は私の個人的なレポを削除しようとすると、 "上流"のものから新たにフォークを試みることができると思うが、それは私を緊張させる。 gitlabに、特定のレポが現在、それらの上流のすべてであることを伝える組み込みの方法はありませんか?

答えて

0

私はそれがSCMに分岐機能がある理由だと思います。 git-scm websiteについて少し詳しくお読みください。

あなたの場合、ブランチproductionが展開され、他のコントリビュータは独自のブランチに発展し続けることができます。

+0

最後に、私は自分の個人レポを削除しましたそれを新しい "マスター"から取り除いた。それはうまくいくようです。 分岐技法はおそらく良く機能しますが、私たちは事務所でのやり方ではないので、私はそれに十分慣れていません。私はそれで周りに遊ぶだろう。 – thatleviathan

0

瞬時にクラウドソースコードリポジトリシステム(Gitlab、Githubなど)を無視すると、すべてのgit reposがピアになります。 1つのレポが「中央」レポであることは、本当にあなたとあなたのチームがそれを決定する問題です。

フォークされたリポジトリから管理しているローカルリポジトリにすべてを取得し、Gitlabで新しい空の "中央"リポジトリを作成し、すべてのブランチなどをローカルレポ。

これは基本的にあなたがすでに行っているようです。


など「中央」のレポのさらなる議論、フォーク、

Gitは、ある種の中央リポジトリであることを意図されることを意味し、あなたが「裸」のリポジトリを作成することができますので、ありません作業ディレクトリはありません。これは、すべてのクラウドレポシステムで使用されているものです(ベアレポのフォルダは、という別の.gitフォルダを持っているのではなく[repo].gitという名前です)、それ以外はすべてのブランチとタグを取得し、実際には、あなたのレポはその後、どこか別のローカルレポのためのリモートリポジトリとして機能することができ、その後、あなたの地元のレポは、リモートレポを持っていること、すべて同じ情報を持っている、など、すべてのサブモジュールを引き出します。

を今にこれに加えて、Gitlab、Githubなどのサービスは、特定の人だけがプルリクエストをマージできるようにブランチを「保護」できるアクセス保護の追加手段を提供します。たとえば、他の人に与えるフォークの使用チームメンバーまたはチーム(またはインターネット上のランダムな人物)もレポの個人用コピーを作成することができますが、フォークを別のレポにしたい場合は、ローカルのリポジトリにすべてをクローンしてから、他の人に接続したり、Gitlabなどの新しい空のレポにプッシュすることができます。

さて、これはすべて言われていることですが、一般的に、いくつかのコマンドを特別な方法で実行して、すべての履歴、すべてのコミット、すべてのブランチ、すべてのタグをプルダウンして、本当にすべてがあることを確認する必要があります。与えられたレポには何も特別なものはありません。これはGitの美しさの一部です。リポジトリを持っていれば、完全にオフラインで作業したり、フォルダをコピーするだけでリポジトリ全体をバックアップすることができます。

関連する問題