GitHubから特定のブランチをクローンまたはダウンロードする方法
Githubはファイルを保存するのに優れていますが、時々必要なファイルが異なるGitブランチに保存されていて、メインサイトから簡単にアクセスできないことがあります。今回は、他のブランチからファイルをダウンロードしてクローンする方法を示します。
"ZIPをダウンロード"は動作します
Githubのダウンロード機能の動作はあまり明確ではありません。ドロップダウンを使って別のブランチに切り替えると、ファイルビューアから離れない限り、そのブランチを引き続き表示します。
ブランチにいる間、コードのドロップダウンから「Zipをダウンロード」をクリックすると、現在いる特定のブランチのダウンロードができます。ただし、サイトではこれを教えてくれないので、ダウンロードURLのファイル名が、名前のついている正しいブランチと一致することを確認する必要があります。
reponame-branchname.zip
フォーマット。
「Raw」ボタンを通じた直接ダウンロードも同様です。特定のブランチへのリンクが含まれており、URLで変更できます。
https://raw.githubusercontent.com/username/Repo/Branch/readme.md正しい方法での単一ブランチのクローン
ただし、zipとしてダウンロードすることには多くの欠点があり、Gitの履歴が壊れます。git clone コマンドを使用してブランチをクローンすることをお勧めします。
あなたはこれを試みたかもしれませんが、偶然にmasterブランチをダウンロードしてしまったかもしれません。これは、ウェブサイトでブランチを切り替えていても、GithubがリポジトリをダウンロードするためのURLしか提供しないためです。そのダウンロード方法については教えてくれません。
https://github.com/username/Repo.gitこのURLを取得して、git cloneを実行すると、デフォルトのブランチ、通常はmasterがダウンロードされます。これをフラグを使って変更することができ、通常は2つの方法のいずれかで行います:
git clone --branch dev https://github.com/username/Repo.git
git clone --branch dev --single-branch https://github.com/username/Repo.git
最初のものはリポジトリ全体をクローンし、dev ブランチをチェックアウトします。2つ目は --single-branch フラグを使用して、ダウンロードするブランチに関連する更新のみを取得します。他のブランチに関して気にしないファイルがたくさんある場合、これにより速度が向上する可能性があります。
マスターブランチからダウンロードしたリポジトリの修正
これを読んでいるのは、すでに git clone を --branch フラグなしで実行したからであるなら、心配しないでください。他のブランチに切り替えるだけです:
git switch dev
もし気づかずにmasterブランチで変更を加えた場合、-bフラグを使ってgit checkoutを使用することで、それらの変更を新しいブランチに移動することができます。
git checkout -bまた、git stashを使用することもでき、これにより変更を保存し、後でスタッシュを「ポップ」して開くことができます:
git stash
git switch dev
git stash pop



