問題タブ [git-subtree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git-subtree - git サブツリー: 異なるプレフィックスでプロジェクトから異なるブランチを追加します
いくつかのブランチbranchA、branchBなどを含むモジュールリポジトリがあります。これらのブランチを git サブツリーを使用してプロジェクトリポジトリにインポートしたいと考えています。プロジェクトリポジトリを次のように設定しました。
これは期待どおりに機能しているようで、 folderAとfolderBの正しいブランチからファイルと履歴を取得しています。
これで、 moduleのmasterブランチに変更があり、これをbranchAとbranchBの両方に適用し( branchAとbranchBをリベースして)、 projectを更新したいと考えています。
これらの変更をprojectにフェッチします。しかし、私がするとき
folderAのみが更新されます。folderBの場合、次のメッセージが表示されます。
変更はマージされません。どうやら、変更がパスfolderAに適用されたが、 folderBには適用されなかったことを git が正しく考慮していないようです。このシナリオを機能させるために何ができるか考えている人はいますか?
git - 親リポジトリ構造を維持しながら、git サブツリーのブランチを作成することは可能ですか?
Git リポジトリ内にサブプロジェクトを配置することを検討しています。リポジトリ、つまり ParentRepo は、プライベート サーバーと同期する必要があります。次に、いくつかのサブディレクトリも会社の github リポジトリにプッシュし、上流の github リポジトリからプルする必要があります。また、github にプッシュされるサブディレクトリ (親リポジトリ全体ではなく) からブランチを作成する機能も必要です。
したがって、階層は次のようになります。
- ParentRepo/Dir1/GitHubProj1
- ParentRepo/Dir1/GitHubProj2
- ParentRepo/Dir1/PrivateProj
GitHubProj1 と GitHubProj2 は、コミュニティ github リポジトリからのフォークです。コミュニティの github リポジトリからアップストリームの変更を取得し、github リポジトリから分岐できるようにする必要があります。PrivateProj は、どの github リポジトリからもプッシュまたはプルしません。すべてがプライベート サーバーの ParentRepo にプッシュされます。
サブモジュールの使用も検討しましたが、苦情が多いようで、代わりにサブツリーを使用することにしました。会社の github アカウントの URL を使用してサブツリーを作成し、外部の github アカウント用のリモート追跡ブランチを追加しました。
ただし、 --branch オプションを指定して git subtree split コマンドを使用してサブツリーのブランチを作成しようとすると、サブツリーのコンテンツが親リポジトリのルートに配置されました。
各サブツリーのブランチを作成するとき、親リポジトリ内の元のディレクトリ構造を維持したいと考えています。特別な命名法を使用する以外に、この方法でブランチを作成する方法や、レポを別の方法で設定してこれを可能にする方法はありますか?
git - gitignore ファイルを含まない git-subtrees のブランチを作成する
最近、git-subtree を使用して、プライベート サーバーに同期する親リポジトリ内にいくつかの github サブプロジェクトを保持し始めました。サブプロジェクト ブランチで .gitignore ファイルの管理に問題があります。
サブプロジェクトのブランチを作成して github にプッシュし、サブプロジェクトのブランチを github からプルダウンできるようにする必要があります。「git subtree split -b」コマンドを使用する方法と、github リポジトリから直接ブランチを作成して親リポジトリにプルする方法の両方で、これを試しました。
ただし、.gitignore にリストされているファイルをこれらのブランチ内に配置したくないため、問題が発生しています。このスタック オーバーフローの投稿 (部分クローンを実行するときに Git サブツリーが適切に使用されていない .gitignore ) を見ましたが、同様の状況を説明していますが、ファイルを完全に削除したくないため、提案されているように git clean を使用することはできません。それらがgithubにコミットまたはプッシュされていないことを確認するためだけです。また、パブリック github リポジトリにプライベート ファイルの名前を含めたくないので、各サブツリーに gitignore ファイルを配置したくありません。
無視されたファイルを含まないブランチを作成する方法はありますか?
angularjs - AngularJS 静的サイトを Github ページにアップロードするには?
AngularJS で静的サイトを作成しましたが、Github ページとしてアップロードしたいと考えています。ここのすべての指示に従いました
https://help.github.com/articles/creating-project-pages-manually
という名前の新しいブランチを作成し、gh-pages
すべてgit push origin gh-pages
のコンテンツを問題なく作成できます。レポに行くと、gh-pages
そこにあるすべてのファイルを含む新しいブランチが表示されます
https://github.com/siddhion/maxmythic_angular/tree/gh-pages
問題は、http://siddhion.github.io/maxmythic_angular/で自分のサイトを表示しようとすると、404 ページが表示されることです。index.html
問題は、トップディレクトリに自分がいないことだと思います。実際にはapp
ディレクトリにあります。私のディレクトリ構造は、Yeoman を介して作成したため、このように見えます。トップレベルにすべてのファイルが必要だと思います。それとも、この仮定で間違っているのでしょうか?
AngularJS の静的サイトを適切に表示するにはどうすればよいですか?
アップデート
スティーブンが提供した手順に従いました。ステップ 3 に進み、エラーが発生しました。
私はそれから試しました
その後、再試行git subtree push --prefix dist origin gh-pages
しましたが、同じエラーが発生しました。
Yeoman の展開ページで、いくつかの一般的なエラーセクションの下に表示されます
現在のブランチのヒントが遅れているため、この更新が拒否されたというエラーが表示される場合があります。これは、リモートに強制的にプッシュすることで解決できます (ただし、既存のものはすべて破棄されることに注意してください)。
私はsubtree push
一般的にgitを初めて使用し、何が破棄されるかわからないため、強制するのが心配です。つまり、私は現在gh-pages
maxmythic_angularorigin
リモートにブランチを持っていないので、それについては心配していませんが、そこにmaster
,gh-pages-old
とgh-pages-v1
ブランチがあります。実行すると、それらは破壊されますgit subtree push --prefix dist origin gh-pages
か?
git - Ubuntu 12.10 に git 1.8.3.2 がインストールされているにもかかわらず、「git サブツリー」が機能しないのはなぜですか?
Yeoman を使用して、AngularJS ベースの静的サイトを Github ページとしてデプロイしようとしています。展開手順のステップ 3 で実行するように指示されます
git subtree push --prefix dist origin gh-pages
しかし、私がそれを入力すると、
git: 'subtree' is not a git command. See 'git --help'.
This SO answer は、最新の git-core にアップグレードし、常に最新の安定版リリースにアップグレードされるようにする方法についての指示を提供してくれました。
これらのコマンドを実行した後git --version
、最新バージョンであることを確認しましたgit version 1.8.3.2
。今、私が走ってみたとき
git subtree push --prefix dist origin gh-pages
繰り返しますが、同じ次のエラーが引き続き発生します
git: 'subtree' is not a git command. See 'git --help'.
最後に、Ubuntu 12.10 を再起動してコマンドを再度実行しようとしましたが、もう一度同じエラーが発生しました。
git subtree
現在の安定版リリースにアップグレードしたにもかかわらず、コマンドがまだ機能しないのはなぜですか?
angularjs - Yeoman AngularJS 静的サイトを Github ページにデプロイしようとしましたが、git subtree コマンドが常に拒否されます
AngularJS 静的サイト (Yeoman で開始) を Github ページとしてデプロイしようとしており、Yeoman デプロイ ガイドに記載されている手順に従っていました。ステップ 1 と 2 では成功しますが、ステップ 3 に到達すると事態は悪化します。ステップ3は実行するように指示します
実行すると、これが表示されます
次に、ヒントに従って試してみます
その後、再試行git subtree push --prefix dist origin gh-pages
しましたが、以前と同じエラーが発生しました。
Yeoman の展開ページで、いくつかの一般的なエラーセクションの下に表示されます
現在のブランチのヒントが遅れているため、この更新が拒否されたというエラーが表示される場合があります。これは、リモートに強制的にプッシュすることで解決できます (ただし、既存のものはすべて破棄されることに注意してください)。
私はsubtree push
一般的にgitを初めて使用し、何が破棄されるかわからないため、強制するのが心配です。つまり、私は現在gh-pages
maxmythic_angularorigin
リモートにブランチを持っていないので、それについては心配していませんが、そこにmaster
,gh-pages-old
とgh-pages-v1
ブランチがあります。実行すると、それらは破壊されますgit subtree push --prefix dist origin gh-pages
か?
アップデート
安全のために作業を別のフォルダーにコピーし、コマンドに追加--force
して実行しました。git subtree push
これは私が得たものです
自分のサイトを gh-pages にデプロイできるようにコマンドを機能させるにはどうすればよいですか?git subtree push --prefix dist origin gh-pages
アップデート
この問題が指示に関係しているのか、それともレポに何か怪しいものがあるのか を確認したかったので、新しいAngularアプリをセットアップしyo angular
、展開手順に従いました。git subtree push
今回働いた。私のgh-pagesリポジトリに何が起こったのか、まだわかりません。私は本当に徹底的に学ばなければなりませんgit
。