我有这样的情况。一个开发人员在./model目录中工作,他正在向其中添加新文件,然后提交新的model_files并推送到源/主目录
现在,第二个开发人员也在同一目录./model (在他自己的工作目录中)中编写模型。
假设开发者A创建了这样的模型:
./model/m1.php
./model/m2.php现在开发者B创建这样的模型:
./model/m3.php
./model/m4.php假设开发者A提交更改并推送到源/master,因为开发者B的工作需要m1.php和m2.php模型。
开发人员B还在项目中创建了许多其他更改/文件夹/文件,而不仅仅是在./models目录中,他的工作还没有完成。如果他合并或拉动,那么他的工作就会丢失。
开发人员B如何检索文件夹./model中仅由开发人员A创建的新模型文件。我在developer B机器上尝试了类似的东西。我假设开发人员B没有提交m3.php和m4.php,因为这些文件还没有结束。他只需要将来自开发人员A的新文件(m1.php和m2.php)放在./model目录中。在开发人员B机器上,我尝试了:
git fetch origin
git checkout origin/master ./model/*但不幸的是这个错误给了我
error: pathspec 'model/m3.php' did not match any file(s) known to git.
error: pathspec 'model/m4.php' did not match any file(s) known to git.但是如果我执行:
git checkout origin/master ./model/m1.php ./model/m2.php然后它就可以工作了,但它假设我必须准确地知道我需要从这个分支签出的文件名。
有人能帮我一下吗?谢谢。
发布于 2013-02-13 18:31:19
开发人员B应该运行
第1行隐藏了开发人员的工作,因此在执行拉操作之前,他们的分支不会有任何更改
第2行执行从远程上的主目录获取和合并。这将获得开发人员A的更改。
第3行重新应用开发人员B对m3.php和m4.php文件所做的工作。
显然,在git中执行命令时不要包含数字。
发布于 2013-02-13 19:28:38
我想通了。除了结尾的这个“*”之外,几乎所有的东西都没问题。
从远程分支下载文件到某个项目文件夹的正确方法是只向该文件夹添加新文件:
git fetch origin
git checkout origin/master model/发布于 2013-02-13 18:30:22
您需要将传入的更改合并到工作副本中。为此,只需执行以下操作:
git fetch origin
git merge origin/master为此,您必须首先在计算机B中提交或暂存本地更改。
https://stackoverflow.com/questions/14851349
复制相似问题