1. ホーム
  2. git

[解決済み] git: ヘッドを切り離さずにブランチを切り替える

2022-11-04 16:18:15

質問

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 

カラーを有効にすると、ローカルブランチはある色に、リモートブランチは別の色になります。

リモートブランチに切り替えて作業できるようにするには、まずリモートブランチをローカルに追跡させる必要があります。