1

似たような質問がたくさんあり、誰もが長い回答を投稿して、質問者を説得しようとしています.

このような状況でブランチを作成することは可能ですか?

そのコピーの作業ディレクトリにブランチを作成し、それをプッシュしてから、すべてをもう一度削除できるようにするためだけに、レポを複製したくありません。このブランチを作成するスクリプト (存在するかどうかを確認した後) は、Gitolite のベア リポジトリに既にアクセスしており、コマンドを直接発行できます。「git checkout」は、作業ツリーで操作を実行する必要があると不平を言っています。

4

2 に答える 2

3

ベアレポで、少しレベルを下げることができます。

git branch裸のレポに新しいブランチを作成しても構わないと思っています。開始するコミットを与えるだけで、既存のコミットを指す新しいブランチ名が作成されます。

cd foo.git
git branch newbranch b6636ec88ba0750aec2706865653eb55031fb892

git update-refを使用することもgit branchできrefs/heads/ます.

git update-ref refs/special/ziggy b6636ec88ba0750aec2706865653eb55031fb892
git update-ref -d refs/special/delete

git symbolic-ref編集:そして、たとえば、で間接参照を作成できます:

git symbolic-ref MAGIC refs/tags/v1.3

(通常、これは別の間接参照にするためにのみ使用されHEADます。ここでの主なポイントは、このコマンドは、のようgit update-refに、名前空間名全体を綴る必要があるということです)。

于 2013-11-13T18:04:59.483 に答える
2

それでは、あなたのことを話すのではなく、別の角度から考えてみましょう。

裸のレポに対しては何でもできます

  • そこにあるファイルを好きなように操作するだけの難しい方法
  • または、GIT_DIRpure-repo コマンドを設定して使用する
  • GIT_INDEX_FILEローカルインデックスが必要な場合は、追加で設定することもできます
  • GIT_WORK_TREEそれらのいずれかが必要な場合は、追加設定が可能です

関連する環境変数に関するいくつかのドキュメント。

于 2013-11-13T18:01:01.290 に答える