web-dev-qa-db-ja.com

gitを使用して特定のブランチをフェッチする

Xilinx wiki で説明されているように、gitを使用して master-nextブランチ からソースコードをダウンロードしたい。

私はこれを試しました:

#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git

Initialized empty Git repository in /home/Hannan/master-next/.git/
fatal: remote error:
Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name
Email [email protected] for help

これでも失敗しました:

# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git
Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/
fatal: remote error:
Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name
Email [email protected] for help

機能するコマンドは次のとおりです。

 git clone git://github.com/Xilinx/u-boot-xlnx.git

しかし、これが実際に master-next branch をフェッチし、 master branch をフェッチしないことをどのようにして知ることができますか? gitを使用して特定のブランチを正しくフェッチするにはどうすればよいですか?

PuTTY経由でアクセスするRHEL 6を使用しています。

19
user2799508

エラーメッセージが示すように、git cloneはgitリポジトリを想定しています。そのようなパスにブランチの名前を「追加」することはできません。 gitのブランチ を参照してください。

単一のブランチ(およびその履歴)を複製できます:git clone <url> --branch <branch> --single-branch

git help cloneをご覧ください。

ただし、実行したcloneコマンドを実行すると、リポジトリ全体のコピーが提供されます。既存のブランチはgit branchで確認でき、それらの詳細はgit show-branchで確認できます。

git checkout branch-nameを使用して、目的のブランチに切り替えます。

Pro Git ブック(オンラインで入手可能)の最初の章では、基本的なコマンドについて詳しく説明しています。

16
Leiaz

このコマンドは機能するはずです。

$ git fetch Origin [branch]

上記のコマンドは、リモートリポジトリからメタデータをフェッチするだけで、ソースのマージは行いません。

ソースをフェッチしてマージする場合、コマンドは次のようになります。

$ git pull Origin [branch]

マージコマンドを実行しているブランチに注意してください。ソースがマージされる場所です。

13
raulsaeztapia

gitリポジトリにはすべてのブランチが含まれています(ただし、圧縮されているため差異のみがあり、サイズの問題が発生することはめったにありません)。

したがって、プロジェクト全体を正常に複製できます。これは、1つのブランチだけに関心がある場合でも、リポジトリを取得する標準的な方法です。

.git構造には、そのリポジトリで行われたallブランチが含まれます。

特定のブランチを使用するには、git checkout [branch_name]ブランチが存在する場合、ファイルはローカルで使用できるようになります(それだけで、プロジェクトディレクトリの現在のファイル)。

git statusを実行すると、現在のブランチであるブランチが表示されます。次に例を示します。

レイアズによれば、特定のブランチを複製することができます。実際には、これを行ったことはありません。さらなる研究では、それは比較的新しいものであり、git 1.7.10(2012年4月)で追加されたことがわかります。ブランチの履歴を示さないタグはフェッチされません。例えば:

git clone -b master-next --single-branch git://github.com/Xilinx/

enter image description here ここで、「リンカー」アプリケーションの場合、ブランチをチェックアウトしていますv3.0.10

4
Michael Durrant