問題タブ [git-bare]
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 - git を使用してリモート テスト リポジトリを用意する
私の現在の設定では、私の開発サーバーには、私と他のユーザーがプッシュするベア git リポジトリがたくさんあります。しかし、今は PHPUnit テストをサーバー自体に統合したいと考えています。
私の最初のアイデアは、という名前の各レポにサブディレクトリを作成し、 VisualPHPUnittests
のようなものでテストを実行して、サーバーの「Web サイト」から結果を確認できるようにすることでした。ただし、リモート リポジトリがむき出しになっているため、実際には存在しないため、VPHPU にテスト ディレクトリを探すように指示することはできません。
物事を行うためのより良い方法はありますか?私は、すべてのプロジェクトのテストを含む別のリポジトリを用意して、それをむき出しにしないことを考えていましたが、それは git 標準に反しており、何かを壊す可能性があります。
git - ベアリポジトリのGitメールマップ
gitリポジトリに.mailmapファイルを設定したので、実行中
私のローカルリポジトリでは、.mailmapファイルで指定されているようにすべての電子メールアドレスを正しくマップします。しかし、ベアリポジトリにプッシュしてサーバーで同じコマンドを実行した後、出力は変更されません(.mailmapファイルは無視されます)。これは、ベアリポジトリに機能するツリーがないため、logコマンドで.mailmapファイルが表示されないためだと確信しています。それを機能させるためのトリッキーな方法はありますか?
私が考えることができる不格好な方法は、実行することです:
次に、ある種の検索と置換操作を適用します。これは最良のオプションですか?
git - ブランチとタグをプッシュすると、エラーが発生します:gitを生成できません:そのようなファイルまたはディレクトリはありません
CVSからソースと履歴をインポートして作成された既存のベアのGitリポジトリがあります。私は以下を使用して鏡を作ります:
次に、すべてのブランチとタグを内部のGitリポジトリホストにプッシュします。しかし、プッシュはベアリポジトリをGitリポジトリとして認識していないようです。
私は以下を試しました:
その結果:
または私は試します:
「gitをスポーンできない」とはどういう意味ですか?
すべてのブランチを含むベアリポジトリを空の既存のリポジトリにプッシュするにはどうすればよいですか?
私はいくつかの可能性をグーグルで検索し、いくつかのSOの問題を確認しましたが、この問題の解決策が見つかりません。明らかに、このプロセスについての私の理解には欠陥があります。
アップデート
私の理解に欠陥はなかったと思います。このエラーは、「通常の」クローンからブランチごとにクローンを作成してプッシュできるため、ベアリポジトリに何か問題があると誤解しました。
結局のところ、これはMSysGitのバグです。私の場合、すべての履歴を保持することが要件だったため、Linuxに移行しました。空のリモートリポジトリにプッシュする必要があるため、ブランチとタグを単純に削除することはできませんでした。したがって、以下が機能しました。
git - Git ベア リポジトリをコピーするとログが変更されますか?
私は git でいくつかのことを試してみたいと思っていますが、作業リポジトリで何も台無しにしたくありません。
物事を安全に保つために、私が作業しているベアレポのコピーを作成しました。このレポから、すべてのプッシュとタグ付けを行うつもりです。私が使用した:
悪いコミットなどを元に戻すことができることは理解していますが、これらすべての元に戻されたコミットをリポジトリに残したくないし、リファクタリングもしたくないため、複製された裸のリポジトリから作業したいだけです。
問題は、次を実行することです。
そして戻ってきます:
私が触れたくない元のレポには、実際に5日前に変更されたファイルがあります。
コピーしたリポジトリで実行するgit log
と、これらの 5 日前の変更の記録はすべて残っています。
ここで何が起こっているのですか?
リポジトリの独立したコピーを作成するより良い方法はありますか?
更新 1
私は自分の質問が不正確であることに気づきました。私は走った:
以下から生成されたディレクトリ内:
git - ベア Git リポジトリにデータがあることを確認する
ファイルがベアリポジトリに正しくプッシュされたことを確認するにはどうすればよいですか? git log
ベア リポジトリには作業ツリーがないため、git リポジトリとして取得されないため、単純な作業を実行できないことは明らかです。
ここで提案されているような解決策があることは承知していますが、コマンドラインを使用してそれを行う方法を知りたいです。
git - Gitベアリポジトリにはマスターブランチがチェックアウトされていますか?
この質問は以前に尋ねられたと確信していますが、見つけられないようです。重複していたらすみません。
私は裸のリポジトリを持っているので、それを project_x.git と呼びます。設定ファイルを確認すると、
したがって、それは確かに正しいです。裸=真です。今、マスターをクリーンアップ バージョンに置き換えようとしています。
私はgitblitを使用していますが、それは実際のサーバーのURLではありません。
この応答は私を困惑させます。ベアレポにチェックアウトブランチを作成するにはどうすればよいですか? 誰がそのブランチで作業しています:)、意味がありません。構成が賢明であるか、gitblitが私をいじっているのか、それはむき出しではありません。理解できない?
なにが問題ですか?
ところで私が試しても同じメッセージ
編集:これは機能しますが、以前に試したようにブランチを削除することはできません。
ありがとう
git - リモートリポジトリの Git サブモジュール
サブモジュールの仕組みがよくわかりません。
リモートリポジトリPARENTとリモートリポジトリCHILDがあります。リポジトリCHILDをリポジトリPARENTのサブモジュールにしたいので、PARENTをチェックアウトすると、CHILDも ( PARENTのサブフォルダーに) チェックアウトされます。そこで、私の最初の試みは、 PARENTを裸のリポジトリとして設定することでした。しかし、サブモジュールを追加したいとき:
そのため、 PARENTを適切な作業ツリーを持つベアでないリポジトリにしました (そのリポジトリに作業ツリーは本当に必要ありませんが)。サブモジュールの追加はうまくいきました。PARENTをローカル リポジトリに複製することもうまくいき、CHILDは意図したとおりにサブフォルダーとしてチェックアウトされました。次に、変更をローカル リポジトリから再度PARENTにプッシュしたい場合:
作業ツリーがあるため、裸のリポジトリではサブモジュールを使用できませんが、裸でないリポジトリを使用すると、作業ツリーがあるためチェックインできませんか? ここで何が理解できませんか?