問題タブ [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_PS1_SHOWDIRTYSTATE を裸のリポジトリに対して実行しないようにするにはどうすればよいですか?
そこで、git のインストール用に bash オートコンプリートを設定しました。ただし、私は時々直接インターフェースしなければならない裸のレポを持っています(git reset
たとえば、)、そしてcd
裸のレポに入るたびにGIT_PS1_SHOWDIRTYSTATE
、通常の作業ツリーのステータスを表示する必要がある設定が実行されます。次のメッセージを参照してください。
fatal: This operation must be run in a work tree
git status
そのレポに対して実行しようとしていると思いますが、むき出しであるため、エラーが報告されます。
ベアレポで何かをするたびにそのエラーが表示されないようにしたいと思います。それはすでに数回私を捨てました。
git - ベアgitリポジトリのGUI
私ができる裸のgitリポジトリディレクトリ(どこにも作業ツリーがない)のGUIはありますか?
- ログを確認する
- コミットについては、作業ツリー構造全体を参照してください
私がこれを必要とする理由に関して:
私のgitは次のようにinitです:git --git-dir = xx --work-tree = yy init(git以外のフォルダーからベアリポジトリに追加/コミット)
この状況で機能するツールが見つかりませんでした(作業ツリーとリポジトリが分離されています)
git - サーバー上で CMS を使用してベア リポジトリをセットアップする最善の方法を理解できない
CMS を実行している DEV サーバーがあり、CMS インストールのリポジトリからプルしてリポジトリにプッシュしたいのですが、ベアでないリポジトリにプッシュしようとしているためにエラーが発生します (このリモート リポジトリのクローンを作成しました)。ローカルで)。
しかし、私が理解していることから、裸のリポジトリには実際にはファイルが含まれていません。これは、CMS を表示する際に明らかに問題になる可能性があります。これが正しいかどうかはわかりません。
これが簡単な場合は申し訳ありません。ここで多くの回答を読んでいますが、リモートでファイルが必要な場合にローカルおよびリモートリポジトリをセットアップする方法を理解するのにまだ問題があります。
また、コマンド ラインで git を使うのが苦手なので、Tower を使用しています。
どんな助けや提案も大歓迎です。
乾杯
ベン
git - Git: 共有 (ベア) リポジトリに存在するファイル (およびその内容) を確認する方法は?
次の方法で共有リポジトリを作成しました。
ある時点で、別のユーザーがこのレポを自分の変更で更新しました (を使用git push
)。
共有リポジトリに現在存在するファイルとその内容を確認するにはどうすればよいですか?
ls
ローカル リポジトリでは、 andを実行できcat <some file>
ましたが、共有リポジトリには作業ディレクトリがありません...
git - 裸のリポジトリでブランチをマージするgit
私のgitリポジトリ用に次のセットアップを作成したいと思います:
現在、すべての作業ファイルを含むローカル git リポジトリがあります。中央のベア リポジトリと、他の 2 つの非ベア リポジトリ (1 つはライブ アプリケーション用、もう 1 つはテスト バージョン用) をセットアップできるようにしたいと考えています。
ローカルからテスト ブランチの中央ベア リポジトリに変更をプッシュできるようにしたいと考えています。次に、私のテスト リポジトリでは、常にベア リポジトリのテスト ブランチからプルします。
変更をライブに移行する準備ができたら、テスト ブランチとマスター ブランチを中央のベア リポジトリにマージできるようにしたいと考えています。その後、ライブ リポジトリはマスター ブランチからプルできます。
したがって、このスキームでは、テスト リポジトリは常にテスト ブランチからプルされ、ライブ リポジトリは常にマスター ブランチからプルされます。
ただし、裸のリポジトリでブランチをマージする方法がわかりません。git-merge と git-checkout は、作業ツリーがないと機能しないようです。
だから、私の質問は2つあります:
- 裸のレポにブランチをマージする標準的な方法はありますか?
- 私のレポのセットアップが貧弱なので、これは簡単ではありませんか? (その場合、ベスト プラクティスのためにこのアーキテクチャをどのように変更しますか?)
git - git log --branchは、通常のリポジトリとベアリポジトリで異なる動作をしますか?
git logコマンドを使用して、指定されたブランチの特定の日付以降の変更のリストをリポジトリから抽出したいと思います。
目的のために、私はうまくいくように見える次の構文を見つけました:
上記のコマンドは、ワークステーション(Ubuntu 10.04、GIT 1.7.7.2)のクローンリポジトリでは正常に機能しますが、クローンが作成されたメインリポジトリに誤ったログを出力します。メインリポジトリは、Centos 5.5、GIT1.7.3.4でホストされているベアGITリポジトリです。基本的に、メインリポジトリには最新のコミットの数は表示されません。
これが予想される動作であり、メインリポジトリが裸であるという事実による違いなのか、GITバージョンが同じではないという事実による別の動作なのかはわかりません。
python - Python で Git フックを使用して Git リポジトリを更新する
私は Python を使用して post-receive フックを作成しています。これは、プロジェクト内の更新されたすべてのファイルの自動展開に役立つことを願っています。基本的に、「デプロイ」ブランチがプッシュされるたびに、変更されたファイルが FTP 経由でサーバーにアップロードされます。
これが私がこれまでに持っているものです:
このフックを含むリポジトリはベア リポジトリです。次に/home/git/testrepo/
、このリポジトリのクローンである別のリポジトリをその下に置きます。
このコードでは、作業ディレクトリをそのリポジトリに変更してから、プルを開始しようとしています。ただし、これは機能しません。代わりに、プッシュしてフックを実行すると、「fatal: Not a git repository: '.'」というメッセージが表示されます。
このリポジトリに正常にプルして、そのファイルを他のサーバーにアップロードできるようにする方法についてのアイデアはありますか? 私が試したすべての方法は失敗しました。
git - Git、ベアを共有リポジトリに変更する方法は?
これが私のプロジェクトの設定方法です。
後で私は、複数のユーザーがいるプロジェクトで作業したい場合、これが私がそれを行うべき方法であることを学びました。
今、私はそのように作業しようとしましたが、幸いなことに、私たちは最初からgitをセットアップできるようになりました。プロジェクトの途中ではそれができないのではないかと思います。ベアリポジトリを共有リポジトリに変更する方法はありますか?
git - 複数のブランチを持つGitベアリポジトリ
複数のブランチ(マスター、開発、リリースなど)を備えたgitベアリポジトリを作成したいと思います。だから問題は、裸のリポジトリをチェックアウトすることが可能かどうか、またはブランチを切り替える方法(切り替えるのは理にかなっていますか)ですか?
ベアリポジトリにプッシュしたい場合、ベアリポジトリでマージを行うことはできますか、それともマージをローカルで実行して適切なブランチをプッシュする必要がありますか?だから正しいアプローチを探しています:-)
ありがとうピーター
git - リモートベアのGitサブモジュール
リモートのベアリポジトリにプッシュできるように環境をセットアップしました。次のコマンドを使用して、リモートリポジトリを設定しました。
と
そして私のローカル環境で:
これで、を使用してこのリモートにデプロイできgit push web
、すべてがうまく機能します。
問題:サブモジュール
プロジェクトに、リモートリポジトリで初期化/更新されていないサブモジュールがいくつかあります。git submodule update
ベアであるためにベアで実行できません。また、ファイルのコピーであり、gitリポジトリではないため、フォルダーで実行することもできません/var/www/website
。