Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 吉特';合并';仅现有文件_Git - Fatal编程技术网

Git 吉特';合并';仅现有文件

Git 吉特';合并';仅现有文件,git,Git,我是否可以执行仅更新当前分支中现有文件的“合并” 例如,我有branch1:/file1、/x/file2、/file3。和branch2:/file1、/x/file2、/z/file4。我想用第一个分支中的文件更新第二个分支中的文件file1和file2 作为一种解决方案,我看到在branch1中为该文件创建单独的提交,然后在第二个分支中使用chery pick UPD: 多亏了@fge,我找到了这个解决方案(不像我想象的那么简单): 您可以在branch2上继续: git checkout

我是否可以执行仅更新当前分支中现有文件的“合并”

例如,我有branch1:/file1、/x/file2、/file3。和branch2:/file1、/x/file2、/z/file4。我想用第一个分支中的文件更新第二个分支中的文件file1和file2

作为一种解决方案,我看到在branch1中为该文件创建单独的提交,然后在第二个分支中使用chery pick

UPD: 多亏了@fge,我找到了这个解决方案(不像我想象的那么简单):


您可以在
branch2
上继续:

git checkout branch1 -- file1 x/file2
然后,git添加修改后的文件并提交结果

如果您还想获得branch1的提交消息,可以使用
git commit-c branch1
进行提交


请注意,
branch1
实际上是一个refspec。git中的分支只不过是一个提交,但由于提交有到其父级的链接,它实际上是一个“分支”。

继续进行合并,就像您通常所做的那样。下一步,通过删除额外的文件,将nw提交修改为所需的形状:

git merge other_branch
rm file another_file #etc
git add -A
git commit --amend -C HEAD
您现在有了一个合并委员会(定义了两个父提交)。命令,例如

git branch --contains

现在可以正常工作了。只有在需要正确合并时才执行此操作。

合并在引号中。这就是我的解决方案。这不是我真正想要的,但也许这是最简单的方法。这种方法不能解决文件中的冲突&需要列出所有必需的文件。Bash循环和ls会有所帮助。这可能会从第二个分支引入不需要的提交/更改。OP从未说过他想引入来自另一个分支的所有更改,只是一组文件。将其标记为合并可能是危险的,即使OP没有意识到这一点。如果您进行合并,然后重写内容,这样您就不会真正包含合并提交中的所有更改,那么您将永远无法在以后的合并中获得其余更改。没错,fge。结果不是通常的合并。此操作之后将有两个不同的提交。所以我用引号写了“合并”。Jefromi,我写了关于使用单独提交和奇瑞选择的解决方案。我只是认为git中有一些内置的解决方案。那么这不是一个合并,如果/当这些提交被合并时,这些其他文件将被引入。这很危险。你可能想详细说明你在这里真正想要实现的目标。这两个分支是长寿的吗?你会经常做这样的合并吗?不需要的文件是否都在一个目录中,表示某种内聚性?您是否希望稍后获取不存在的文件及其更改?这些文件在当前分支中存在过吗?请写出git命令好吗?我知道“co”代表“checkout”,但我不知道“ci”代表什么。谢谢。Ok在这里找到了git(.gitconfig)的一些快捷方式:。如果我没弄错的话,“ci”代表“commit”。
git branch --contains