[解決済み] git: ヘッドを切り離さずにブランチを切り替える
質問
githubにメインブランチ(master)と実験用のブランチからなるリポジトリを持っています。 私はいくつかのコミットを行い、実験的なブランチにプッシュし、すべてがうまくいきました。
さて、別のマシンで、私は自分のリポジトリをクローンしようとしました (git clone リポジトリ を実行し、実験用ブランチに切り替えてみます (git checkout ブランチ名 を実行するたびに頭が切り離されてしまい、変更をプッシュすることができません。 私は何を間違えているのでしょうか? gitの基本的なコンセプトがどこかに欠けているような気がするのですが、ランダムにgitのマニュアルページを読んでも何の手がかりも得られないのです。
私はgitの初心者なので、私が馬鹿であるなら申し訳ありませんが、ドキュメントには私の頭を再接続するのに役立つものは何も見当たりません。
EDIT
トラッキングブランチの概念は、私が見逃していたものです。 この概念を理解したことで、すべてがクリアになりました。 個人的には
git branch --track
構文の方が
git checkout -b branch-name origin/branch-name
.
助けてくれてありがとうございます!
どのように解決するのですか?
# first time: make origin/branchname locally available as localname
git checkout -b localname origin/branchname
# othertimes
git checkout localname
git push origin
便宜上、localname & branchnameに同じ文字列を使用することができます。
チェックアウト時に
origin/branchname
をチェックアウトしたとき、実際にはブランチをチェックアウトしていたわけではありません。
origin/branchname
は "リモート" の名前です。
branch -a
カラーを有効にすると、ローカルブランチはある色に、リモートブランチは別の色になります。
リモートブランチに切り替えて作業できるようにするには、まずリモートブランチをローカルに追跡させる必要があります。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
undefinedGitのプッシュコードには、! [rejected] master -> master (fetch first) 問題があります。
-
Gitのエラーについて覚えておく-すべて最新にする
-
[解決済み] Git リポジトリがデタッチド HEAD 状態になったのはなぜですか?
-
git push please tell me who you are or git fatal: empty ident name (for <>) not llowed.
-
git-fatal: 設定されたプッシュターゲットがありません / 警告: store/README.md の LF は CRLF に置き換えられています。
-
[解決済み] JenkinsのGitプラグイン。特定のタグをビルドするには?
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] gitで、stashを適用せずに、追跡されていないstashedファイルを表示する方法はありますか?
-
[解決済み] Git のプッシュが "non-fast-forward" で拒否されました。
-
[解決済み] Git がデタッチド HEAD のあるブランチを作成