問題タブ [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.

0 投票する
3 に答える
10016 参照

git - サーバー上にある git リポジトリを作成する場合、ベア リポジトリに変換できますか?

私はすでにリポジトリを作成しました。ベアタイプにしようか、最初からやり直そうか。

0 投票する
18 に答える
243541 参照

git - 通常のGitリポジトリをベアリポジトリに変換するにはどうすればよいですか?

「通常の」Gitリポジトリをベアリポジトリに変換するにはどうすればよいですか?

主な違いは次のようです。

  • 通常のGitリポジトリでは.git、リポジトリ内に、作業コピーを構成するすべての関連データと他のすべてのファイルを含むフォルダーがあります。

  • 裸のGitリポジトリには、作業コピーはなく、フォルダ(これを呼びましょうrepo.git)には実際のリポジトリデータが含まれています

0 投票する
1 に答える
3432 参照

git - 裸の Git リポジトリにプッシュするときに「receive.denyCurrentBranch」エラーが発生する

あるマシンからブランチをプッシュし、別のマシンにプルしたリモート git ベア リポジトリを用意します。

他のマシンでいくつかの変更を行い、それらの変更をリモートの裸のリポジトリにプッシュしようとすると、「receive.denyCurrentBranch」エラーが発生します。

どうしたの?

これは、何もチェックアウトされていない裸のレポでは発生しないはずです。

マシン 2 から見たブランチは次のとおりです。

「修正」は、両方の開発マシンの現在のブランチです。

最初にマシン 2 でそのブランチをプルしたとき、次のことを行いました。

最初の「remotes」行が疑わしい - HEAD が現在のブランチを指しているように見えるが、そうではない。ここで何かが足りないと思います..

更新 1 「修正」ブランチを dev1 ブランチにマージしてから、「dev1」ブランチをプッシュしました。

これは回避策でしたが、本当の問題は、HEAD が現在のブランチ ('Fix') ではなく、非アクティブなブランチ ('dev1') に関連付けられていたことだと思います。リモートリポジトリのヘッドを変更する方法がわかりませんか?

0 投票する
3 に答える
2021 参照

git - Git ベア - 何をバックアップしますか?

これが他の場所でカバーされている場合は申し訳ありませんが、答えが見つかりません。

私は、開発リポジトリのクローン元のリポジトリである、bare.git と呼ばれる裸のリポジトリを持っています。それはすべてうまくいきます。

私は、bare.git がどこからソース ファイルを取得するのか知りたいです。それらはbare.gitファイル構造内にバイナリファイルとして保存されていますか? 私は、bare.git を別の場所に移動し、そこからレポジトリを複製することができます。それとも、ファイルへの絶対ネットワーク参照を保存していますか?

この情報を知りたい主な理由は 3 つあります。

  1. 何をバックアップするかを知る必要があります。
  2. 私の上司は、ソースコードがどこに行ったのか知りたがっています。
  3. テスト用に現在の複合バージョンが必要です。
0 投票する
4 に答える
38525 参照

git - gitベアリポジトリの最後のコミットを解除するにはどうすればよいですか?

ベアリポジトリには意味をなさないgitコマンドがいくつかあることを考慮に入れて(ベアリポジトリはインデックスを使用せず、作業ディレクトリがないため)、

このようなリポジトリの最後の変更をコミット解除するソリューションではありません。

インターネットで検索すると、このトピックに関連して見つけたのはこれだけです。ここでは、これを行う3つの方法が示されています
。1。「手動で参照を更新する(配管を含む)」;
2.「git push -f非ベアリポジトリから」;
3." git branch -f this $that"。

どの解決策がより適切だと思いますか、またはこれを行うために他にどのような方法がありますか?残念ながら、gitbareリポジトリについて私が見つけたドキュメントはかなり貧弱です。

0 投票する
6 に答える
22387 参照

git - git-archive を使用してベア リポジトリからサブモジュールを含めるにはどうすればよいですか

展開スクリプトをセットアップ中です。基本的なプロセスは次のとおりです。

  1. サーバー上の裸のリポジトリに変更をプッシュする
  2. 次に、新しいタグに基づいて、リリース用の新しいフォルダーが作成されます。
  3. git アーカイブを使用して、ファイルをリリース ディレクトリに移動します。
  4. いくつかの移行スクリプトを実行し、ライブにします (すべてが成功した場合)。

問題は、リポジトリにサブモジュールが含まれていることです。サブモジュールはアーカイブに入れられないため、リリース ディレクトリに入れられません。

git-archive-allを見たことがありますが、ベアリポジトリでは機能しません。

無理なら検討中ですが、

  1. リポジトリをむき出しにせず、作業コピーを更新すると、git-archive-all を使用できるようになります。または
  2. サーバー上にサブモジュールの2番目の裸のリポジトリがあり、そこからアーカイブを取得できます(正しいリビジョンを取得していることを確認するには、これを調べる必要があります)。
0 投票する
11 に答える
115504 参照

git - ベアリポジトリと非ベアリポジトリの「実用的な」違いは何ですか?

私はGitのベアリポジトリと非ベア/デフォルトリポジトリについて読んでいます。私はそれらの違いを(理論的には)十分に理解できていません。また、なぜ裸のリポジトリに「プッシュ」する必要があるのか​​を理解できていません。取引は次のとおりです。

現在、3台の異なるコンピューターでプロジェクトに取り組んでいるのは私だけですが、後でさらに多くの人が関与するため、バージョン管理にGitを使用しています。すべてのコンピューターでベアリポジトリのクローンを作成し、そのうちの1つで変更が完了したら、変更をコミットしてベアリポジトリにプッシュします。私が読んだところによると、ベアリポジトリには「作業ツリー」がないため、ベアリポジトリのクローンを作成すると、「作業ツリー」はありません。

作業ツリーには、プロジェクトからのコミット情報やブランチなどが格納されていると思います。それは裸のリポジトリには表示されません。したがって、作業ツリーを使用してリポジトリへのコミットを「プッシュ」する方がよいようです。

それでは、なぜベアリポジトリを使用する必要があるのでしょうか。実際の違いは何ですか?それはプロジェクトに取り組むより多くの人々にとって有益ではないと私は思います。

この種の仕事のためのあなたの方法は何ですか?提案?

0 投票する
1 に答える
10630 参照

git - gitベアリポジトリの「fetch --all」は、ローカルブランチをリモートブランチに同期しません

git ベア リポジトリを定期的に同期しようとしています。ローカル ブランチは「--track」オプションを使用して作成されています。ここに私の設定があります(不要なものはありません):

「cp」コマンドを使用してローカル ブランチを更新する必要があります。

よりエレガントなソリューションはありますか?

0 投票する
1 に答える
1146 参照

git - 既存のベアリポジトリにreflogs情報を作成する方法

ご存知かもしれませんが、デフォルトでは、gitは新しいベアリポジトリのreflog更新を有効にしません。問題は、長い履歴リポジトリがありますが、フラグ「logAllRefUpdates」をオンにする前に作成されたため、別のアプリケーションでその情報を機能させたいということです。

既存のリポジトリに最小限の変更を加えるだけで、どうすればそれを実現できますか。非常に簡単な解決策は、私がしたくない新しいコミットをプッシュすることです(!):-)