2013-08-29 20 views
0

我有以下兩個compelte庫:如果core.sparsecheckout設置爲true,如何區分和合並兩個分支?

# compelte foo bar 
mkdir complete-foo && cd complete-foo 
git init 
mkdir foo 
echo bar > bar 
echo bar > foo/bar 
git add bar foo 
git commit -a -m "complete foo bar" 
cd .. 
# deployed foo baz 
mkdir deployed-foo && cd deployed-foo 
git init 
mkdir foo 
echo baz > topbaz 
echo bar > foo/baz 
git add topbaz foo 
git commit -a -m "deployed foo baz" 
cd .. 

和稀疏庫跟蹤它們:

mkdir sparse-bar && cd sparse-bar 
git init 
git config core.sparsecheckout true 
echo foo >> .git/info/sparse-checkout 
git remote add -f complete ../complete-foo 
git fetch complete 
git checkout -b complete complete/master 
git remote add -f deployed ../deployed-foo 
git fetch deployed 
git checkout -b deployed complete/master 

到目前爲止,一切都很好。

現在我想區分/合併foo/文件夾中的文件,但它並不像我期望的那樣真正起作用。

E.g.如果我這樣做,

echo boo >> foo/bar 
git diff deployed..complete 

我沒有看到區別。

我還想了解如何才能合併只限於foo /和它的孩子的區別。我不希望看到在嘗試「讀樹--prefix」的方式來實現類似的東西

PS花上幾個小時之間

的差異。 Unsucceful。

回答

0
git commit foo/bar 
git diff deployed..complete 

..它的工作.. 8/

diff --git a/foo/bar b/foo/bar 
index 6a2d84d..5716ca5 100644 
--- a/foo/bar 
+++ b/foo/bar 
@@ -1,2 +1 @@ 
bar 
-boo 

和...

git checkout complete 
git merge deployed