複数回実行してみます:
git checkout mygithub/master
残念ながら、このブランチはチェックアウトされません。
git status
# Not currently on any branch.
nothing to commit (working directory clean)
では、ブランチをチェックアウトしてコミットをプッシュするにはどうすればよいですか?
git clone git@github.com:myusername/myrepo.git
cd myrepo
git checkout master
次に、ファイルを編集します
git status
git add .
git commit
git push origin master
残念ながら、このブランチはチェックアウトされません
問題は、実際にはそのブランチ(または、そのブランチの先頭でのコミット)をチェックアウトすることですが、それはあなたが望んでいることではありません。
背景:ローカルリポジトリにリモート(github
)を追加すると、ローカルリポジトリgithub/master
はそのリモートのすべてのブランチに対して「リモートブランチ」()を作成します。あなたが言うときgit checkout github/master
、あなたはgitにあなたをローカルブランチから外し、その時点でのリモートリポジトリの状態にあなたの作業コピーを更新するように言っています。ローカルブランチでのみコミットできるため、問題が発生します。詳細については、のドキュメントを参照しgit checkout
てください。
を実行git checkout master
することで、2つのことを実行します。最初に、そして最も重要なこととしてmaster
、デフォルトでそれと呼ばれるローカルブランチを作成して、同じ名前のリモートブランチを追跡するように設定します(github/master
この場合はうまくいけば)。作業コピーをその内容で分岐および更新します。舞台裏で何が起こっているかについてgit branch
は、(最初のステップはブランチの作成であるため)およびgit config
以下のドキュメントを参照してください。branch.autosetupmerge