2012-04-12 63 views
7

我有一個git repo,我想從中進行pull操作。我做了一個正常的git pull沒有問題。問題是我只想從回購協議中找出一個特定的目錄。我的想法是,我可以用一個.gitignore文件,這樣的規則:從git repo中拉出一個目錄

#Ignore all files 
/
#Except the one I want 
!/temp 

的問題是,這並不工作。這是正確的做法還是有更好的辦法?

+0

順便說一句,要忽略所有文件,我會用'/ *' – c00kiemon5ter 2012-04-12 13:22:37

+1

去記錄:你不能只拉一個目錄。你總是拉**歷史**,而不是文件或目錄。當然,你只能在某些文件上自由工作。 – fork0 2012-08-04 12:25:17

回答

25

git pull獲取併合並遠程分支。

.gitignore只能在本地使用,並且會隱藏匹配條目而不顯示在git status上,並將其添加到索引git add。這不是你想要的。

你想做什麼,是fetch遠程分支,並從中提取你需要的目錄/文件。

$ git fetch <remote> <branch> 
$ git checkout <remote>/<branch> -- relative/path/to/file/or/dir 

該文件/目錄現在應該在你的分支並添加到索引。

+0

這正是我所需要的。非常感謝! – Dan 2012-04-12 13:36:36

+0

應該說第二行的'remove'或'remote'? – 2012-08-04 11:20:53

+0

@ ing0謝謝,這是一個錯誤的課程;) – c00kiemon5ter 2012-08-04 12:19:22

相關問題