問題タブ [git-worktree]
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 - 1 つのコマンドですべての git のブランチに変更を追加してコミットする
私のコンピューターには git リポジトリがあり、このリポジトリ内のディレクトリの 1 つは、ドキュメントの HTML ビルドを保持する git ワークツリーです。したがって、ツリーは次のようになります
ドキュメントで作業すると、両方のブランチ (dev
とgh-pages
) が更新されます。これは、docs
ディレクトリ内のファイルを変更してから、sphinx が html をhtml
ディレクトリにコンパイルするためです。
ただし、プロセスが完了したらgit add . && git commit
、メイン ブランチとブランチの両方で手動で実行し、gh-pages
すべての変更を git にプッシュする必要があります。
これはそれほど面倒ではありませんが、すべてのブランチに対して 1 つのコマンドを発行できれば便利です。すべてのブランチをプッシュするように「デフォルト」にできることはわかっていgit push
ますが(これは私が行っていることです)、これを追加してコミットする方法が見つかりませんでした(たとえば、目的や説明のために)
またはそのようなもの。それを行う方法はありますか?
乾杯!
git - git-worktreeを使用してマスターブランチにコミットを作成するにはどうすればよいですか
たとえば、「Name」という名前のリポジトリがあります。また、リポジトリには 2 つのブランチがあります。
- 主人
- gh-ページ
フォルダー「名前」に変更を加えた場合、コマンドはコミットを取得します:
このコマンドで、次の 2 つのディレクトリを取得します。
- 「マスター」ブランチからのファイルを含む「名前」
- 「gh-pages」ブランチのファイルを含む「Name-gh-pages」
フォルダー「名前」に変更を加えた場合、コマンドはコミットを取得します:
フォルダ「Name-gh-pages」に変更を加えた場合、どのようにコミットしますか? コマンド「git add」。フォルダー「名前」でのみ変更が表示されます。この場合、コマンド「git checkout gh-pages」は機能しません。
アップデート。ジャイブは解決策を提案しました。
現在、2 つの作業ディレクトリがあります。
「マスター」ブランチにコミットしました。
「gh-pages」ブランチにコミットしました。
git - Git - ベア リポジトリはマスター ブランチのワークツリーを持つことができません - なぜですか?
マージを行うためにサーバー側のソフトウェアに取り組んでいます。を使用git worktree
することで、ベア リポジトリの特定のブランチをチェックアウトし、別のブランチをそこにマージできます。大規模なリポジトリでも非常に高速です。
唯一の例外は へのマージのようmaster
です。私がそうgit worktree add /tmp/path/to/worktree master
すると、エラーが発生します:
致命的: 'master' は既に '/path/to/bare/repo' でチェックアウトされています
しかし、これは明らかに真実でgit worktree list
はありません。
/path/to/bare/repo (ベア)
...そしてもちろん、そのパスにはワーク ツリーはなく、必要な裸のレポ ファイルだけです。
更新: git のメンテナーと連絡を取ったところ、これがバグである可能性があることに同意しました。彼らからテスト用の予備パッチがあります。また、パッチを適用しなくて も、目的の動作を再現できました。
現時点では、境界条件または根本原因が何であるかは完全にはわかりません.gitからの修正が予定されている可能性があります.
git - '' は既に git ワークツリーの '' でチェックアウトされています
git ワークツリーを使い始めました。動作しているように見えますが、複製されたワークツリーのブランチをチェックアウトしようとすると、次のエラーが発生します。
.git/worktrees
ディレクトリを削除せずにこれを回避するにはどうすればよいですか?