ウェブサイト検索

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

関連記事: