所以我在我的本地机器上,我有url远程git repo。 我需要的是从那里获取我的本地机器只有在上次提交时提交的文件。即如果上次只提交了a.txt和b.txt,我只想获取那两个文件,而不是其他任何文件。
我知道这听起来有点奇怪的用例。 任何帮助将不胜感激。
答案 0 :(得分:0)
首先拉分支
git pull --rebase <repo> <branch>
然后重置您不想要的特定提交,剩下的就可以到达那里。
git reset --hard <commit-hash>
如果您想要特定提交的哈希使用
git log
编辑:
你必须获得整个仓库,但是当你在本地合并它时,它只会带来更改的文件。
重要的一行是这样的:(这会设置你的上层分支,所以只有在更新基础时才从中获取)
git remote add upstream git://github.com/original/repo.git
然后实际的提取/合并可以这样做(两步):
git fetch upstream master
git merge upstream/master
或一步到位:
git pull upstream master
另一种方法是使用SourceTree :当你获取代码时,它会显示所有未提交的文件,你可以保留你想要的任何内容。但是,基本上它只会显示你想要的更改文件,而且它会这样做。