有没有办法让Git将特定文件从不同的分支拉到我的分支?

有没有办法让Git将特定文件从不同的分支拉到我的分支?,git,git-merge,git-pull,git-checkout,git-fetch,Git,Git Merge,Git Pull,Git Checkout,Git Fetch,您好,我想知道是否有办法将特定文件从不同的分支拉到我的分支,同时比较/了解添加到我的文件中的内容 我已经尝试过这种方法git checkout-m origin/branch似乎我的index.html基本上只是从我的队友index.html中交换,而没有从我的队友index.html中添加代码。最后,我尝试使用git pull origin分支至少使用git pull我可以看到从index.html中添加了什么(git fetch+git merge=git pull基本上我从git pull

您好,我想知道是否有办法将特定文件从不同的分支拉到我的分支,同时比较/了解添加到我的文件中的内容

我已经尝试过这种方法
git checkout-m origin/branch
似乎我的
index.html
基本上只是从我的队友
index.html
中交换,而没有从我的队友
index.html
中添加代码。最后,我尝试使用
git pull origin分支
至少使用
git pull
我可以看到从
index.html
中添加了什么(
git fetch
+
git merge
=
git pull
基本上我从
git pull
中理解的内容可能是错误的)但问题是它并没有拉取特定的文件,它必须拉取整个分支


我很想知道你对这个话题的想法,如果有其他的方法来提取特定的文件。提前感谢

在git中合并单个文件没有太多支持。您可以使用
git merge file
,但首先需要三份文件副本:

  • 你的版本
  • 你队友的版本
  • “基本版本”,显示在进行任何一组更改之前文件的外观
例如,根据您所写的内容,当前状态可能如下所示:

... O -- A <--(origin/branch)
     \
      B <--(branch)
在检查结果时,您可能希望保留.base和.theres文件一段时间(特别是在存在冲突的情况下);但你可能想在完成后把它们清理干净

rm yourfile.base yourfile.theirs

还有一点需要注意:小心使用
-m
选项进行
签出
;它的含义有所不同,具体取决于您使用的
签出形式。在这种情况下,它并不意味着你想要什么(在这种情况下,它意味着你想要什么,它可能会导致阶段性更改丢失)。

在git中合并单个文件没有太多支持。您可以使用
git merge file
,但首先需要三份文件副本:

  • 你的版本
  • 你队友的版本
  • “基本版本”,显示在进行任何一组更改之前文件的外观
例如,根据您所写的内容,当前状态可能如下所示:

... O -- A <--(origin/branch)
     \
      B <--(branch)
在检查结果时,您可能希望保留.base和.theres文件一段时间(特别是在存在冲突的情况下);但你可能想在完成后把它们清理干净

rm yourfile.base yourfile.theirs

还有一点需要注意:小心使用
-m
选项进行
签出
;它的含义有所不同,具体取决于您使用的
签出形式。在这种情况下,它并不意味着你想要什么(在那些情况下,它意味着你想要什么,它可能会导致阶段性更改丢失).

try
git merge file
try
git merge file
Hi sir我忘了补充一点,我想合并的是我队友的index.html到我的index.html中,我很抱歉,先生,我真正的目标是我队友的index.html中的更改应该添加到我的index.html中基本上是一个git pull,我也有一个错误mv:“index.html”和“index.html”是同一个文件是的,这是一个将队友的文件版本合并到您的版本中的过程;可以是index.html或其他任何内容。我理解你为什么认为这是一个拉,但git不拉文件。该错误表明您输入了一个
mv
命令,或者您使用的操作系统在文件名中只允许一个点。我想不出一个只允许一个点的现代系统,但是如果是这样的话,你可能不得不使用像
index.base
index.theres
这样的名称作为这些文件的临时名称。嗨,先生,我忘了补充一点,我想合并的是我的队友的index.html到我的index.html中。对不起,先生,我真正的目标是,我的队友的index.html应该发生变化添加到我的index.html基本上是一个git pull,我也有一个错误mv:'index.html'和'index.html'是同一个文件是的,这是一个将你队友的文件版本合并到你的版本中的过程;可以是index.html或其他任何内容。我理解你为什么认为这是一个拉,但git不拉文件。该错误表明您输入了一个
mv
命令,或者您使用的操作系统在文件名中只允许一个点。我想不出一个只允许一个点的现代系统,但如果是这样的话,你可能不得不使用
index.base
index.theres
等名称作为这些文件的临时名称。