2011-07-04 10 views
1

私の開発コードは、usbドライブのgit bareリポジトリを使用して2台のマシンで同期します(これらの手順は、git setup for backup & sync between 2 computersに従います)。git fetch originは新しいブランチを作成します

私は自分の変更をUSBの裸のレポにプッシュし、他のマシンで&をマージします。

これらの2つのコマンドは同じですが、その出力が異なることを理解しました。ログは、最初のコマンドが新しいブランチを作成することを示しています。

git fetch origin 

それはフェッチするためにどのようにGitを教えてくれます

git fetch origin +refs/heads/*:refs/remotes/origin/* 

よりも、Gitのリモートがデフォルトで設定されている場合、同じであるおよび格納するために、以下の理由がされて

Method 1 
git fetch origin 
remote: Counting objects: 5, done. 
remote: Compressing objects: 100% (3/3), done. 
remote: Total 3 (delta 0), reused 0 (delta 0) 
Unpacking objects: 100% (3/3), done. 
From /usb/backup/code 
* [new branch]  master  -> origin/master 


Method 2 
git fetch /usb/backup/code.git 
From /usb/backup/code 
* branch   HEAD  -> FETCH_HEAD 

答えて

4

結果としてコミットします。

しかし:

git fetch path/to/.git HEAD: 

(あなたはどこに置くかを指定せずにリモートHEADをフェッチ:

git fetch path/to/.git 

はあなたがやっていることを意味する、origin +refs/heads/*:refs/remotes/origin/*設定refspecデフォルトの恩恵を受けないことを意味しますそれ)。
結果のコミットis stored in FETCH_HEAD ref

Having a hard time understanding git-fetch」を参照してください。
(および "git fetch with path instead of remote")

+0

+1非常に役に立ちます。どうもありがとう ! – Medorator

関連する問題