プライベートサーバーでgit 1.7を実行しています
git init
マスターブランチを作成しないフォルダー。私がするときの原因:
git branch
何もリストされていません。私がする時:
git --bare init
ファイルを作成します。入力すると
git branch master
それは言う:
fatal: Not a valid object name: 'master'.
プライベートサーバーでgit 1.7を実行しています
git init
マスターブランチを作成しないフォルダー。私がするときの原因:
git branch
何もリストされていません。私がする時:
git --bare init
ファイルを作成します。入力すると
git branch master
それは言う:
fatal: Not a valid object name: 'master'.
回答:
私
git init
がフォルダであるとき、それはマスターブランチを作成しません
これは真実であり、予想される動作です。master
何かをコミットするまで、Gitはブランチを作成しません。
実行する
git --bare init
と、ファイルが作成されます。
非ベアでgit init
も.git
、プロジェクトのルートにある隠しディレクトリに同じファイルが作成されます。
入力
git branch master
すると、「致命的:有効なオブジェクト名ではありません:「マスター」」と表示されます。
これも正しい振る舞いです。コミットするまで、マスターブランチはありません。
あなたはまだ質問していませんが、私があなたが質問するつもりであると思った質問に答えます。1つ以上のファイルをディレクトリに追加し、git add
それらをコミットの準備に使用します。次にgit commit
、最初のコミットとmaster
ブランチを作成します。
.git/HEAD
に変更refs/heads/master
しますが、これを行う理由はまったくrefs/heads/main
ありません。最初のコミット後にブランチの名前を変更するだけです。
git checkout -b <branchname>
HEADの変更に使用できます。ファイルを編集する必要はありません。
まず、「裸のリポジトリ」を作成すると、それを使用して作業を行うことはありません(作業コピーが含まれていないため、git branch
コマンドは役に立ちません)。
ここで、a master
を実行した後でもブランチがないのは、git init
コミットがないためです。最初のコミットを作成すると、master
ブランチが作成されます。
git clone
しgit init
て、受信側での作業を省くことができます。
git checkout
WCに.git
ディレクトリ(プッシュした場所)の内容を反映させる場合は、aを実行する必要があります。
git branch newbranch