[解決済み] なぜ "git status" は私が master ブランチにいると表示し、"git branch" は新しく作成されたリポジトリにないと表示するのでしょうか?
質問
ある処理を自動化しようとしていて、そのために
git branch
コマンドを発行して、自分がどのブランチにいるのかを調べています。新しく初期化されたレポを除いて、すべてがうまくいっています。
git branch
は何も返しません。私はそのレポに対して何もしておらず、最初のコミットさえしていないことを考えると、その答えを受け入れることができます。しかし、もし私が
git status
を実行すると、私が
master
ブランチにいると表示されます。
$ mkdir todelete
$ cd todelete
$ git init
Initialized empty Git repository in /u/u70021a/todelete/.git
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
$ git branch
$
私は何か間違ったことをしているのでしょうか?私が正しく設定していない設定があるのでしょうか?
Git を初めて使う人が何人もいるのですが、自分がどのブランチにいるのかを示すコマンドは何も表示されないのに、status コマンドは表示されるのはなぜなのか、説明することができません。
どうすれば解決できますか?
他の2つの回答をupvoteしましたが、考え方はシンプルだと思います。 存在しないブランチにいることができる。 それは 通常 というのも、あるブランチ名が存在するためには、そのブランチ名は が必要だからです。 は既存の有効なコミットのハッシュ ID を識別する必要があるからです。 新しい空のリポジトリにはコミットがないので、ブランチ名はまだ存在することが許されていません。
それにもかかわらず、あなたは、最初は
いくつかの
ブランチにいます。 あなたがいるブランチは、その名前が特別な名前
HEAD
. 新しい空のリポジトリでは、Git は名前
master
(という名前で保存されます(より正確には
refs/heads/master
-ブランチのフルネーム) を
HEAD
にあるため、あなたは
master
で、一方
master
は存在しない。
どの存在しないブランチにいるのかを変更するには
git checkout -b
:
$ git init
Initialized empty Git repository in [path]
$ git checkout -b asdf
Switched to a new branch 'asdf'
$ git checkout -b hello
Switched to a new branch 'hello'
存在しないブランチにいるときは常に、次にコミットするときに
が作成されます。
ブランチを作成します。 これはまた、どのように
git checkout --orphan
が動作します。
関連
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[Gitラーニングノート】Gitのコンフリクト:マージする前に変更をコミットするかstashする。
-
[解決済み] Git のアンプッシュされたコミットを表示する
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] Git でファイルがいつ削除されたかを調べる
-
[解決済み] 他のgitリポジトリからコミットをチェリーピックすることは可能ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
git pull reports エラー: :cannot open .git/FETCH_HEAD:Permission denied (.git/FETCH_HEADを開くことができません。
-
git commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
ファイル名が長すぎるため、作業ツリーをチェックアウトできない警告が表示されました。クローンには成功しましたが、チェックアウトに失敗しました。
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み】現在チェックアウトされているGitブランチをプログラムで決定する方法【重複あり
-
[解決済み] なぜgit AuthorDateはCommitDateと違うのですか?
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] Git Repo から既存のファイルを削除する