Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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存储库中,是否可以为单个文件快速进行forwad更改?_Git - Fatal编程技术网

在具有多个分支的git存储库中,是否可以为单个文件快速进行forwad更改?

在具有多个分支的git存储库中,是否可以为单个文件快速进行forwad更改?,git,Git,当我有一个即将发布的版本时,我会在git中保持版本不变,并签出一个新的分支以备将来的工作 有时我知道会有文件冲突,因为我需要在当前(发布)版本和前瞻性分支(原因B)中进行编辑(原因A) 你是不是想告诉git,我在版本发布中对一个文件所做的更改(原因a)可以应用(move.copy,fast fowarded)到新分支中的同一个文件?(当然与原因B的变更合并) 我希望随后对分支中的文件进行更改(原因现在是C),并且在合并时不会再出现另一个冲突。(特别是对于琐碎的编辑) Git只有在没有冲突的情况下

当我有一个即将发布的版本时,我会在git中保持版本不变,并签出一个新的分支以备将来的工作

有时我知道会有文件冲突,因为我需要在当前(发布)版本和前瞻性分支(原因B)中进行编辑(原因A)

你是不是想告诉git,我在版本发布中对一个文件所做的更改(原因a)可以应用(move.copy,fast fowarded)到新分支中的同一个文件?(当然与原因B的变更合并)


我希望随后对分支中的文件进行更改(原因现在是C),并且在合并时不会再出现另一个冲突。(特别是对于琐碎的编辑)

Git只有在没有冲突的情况下才会快速前进。如果存在冲突,Git将主动拒绝快进,直到冲突得到解决

一般来说,这是为了减少人为错误。您可能认为编辑是微不足道的,但它可能与您在其他分支上所做的其他工作相冲突

如果您注意到Git在警告您这些冲突,那么您的更改就不会像您最初假设的那样琐碎或狭窄

可以这样想:您有master分支和feature分支<代码>功能基于
master
的提示

    master
------[]
    feature
你在大师身上做些工作,然后推动它

      feature     master
  ------[]----------[] 
然后,对该特性做一些工作,并将其向上推

                  master
  ------[]----------[] 
         \
          \       feature
           ---------[]
假设您在特性中基于的工作在master中发生了巨大的变化。当然,您将收到一个关于其中合并冲突的通知。Git绝对不会对代码的互操作性做出任何假设;它只检测潜在的冲突并向用户发出警告


如果您希望某个特定版本无论如何都能获胜,那么您可以强制进行合并并将其历史记录指定为胜利者。这是一个危险的操作,所以我恳请您,并确保这是您所需要的。

Git只会在没有冲突的情况下快速前进。如果存在冲突,Git将主动拒绝快进,直到冲突得到解决

一般来说,这是为了减少人为错误。您可能认为编辑是微不足道的,但它可能与您在其他分支上所做的其他工作相冲突

如果您注意到Git在警告您这些冲突,那么您的更改就不会像您最初假设的那样琐碎或狭窄

可以这样想:您有master分支和feature分支<代码>功能基于
master
的提示

    master
------[]
    feature
你在大师身上做些工作,然后推动它

      feature     master
  ------[]----------[] 
然后,对该特性做一些工作,并将其向上推

                  master
  ------[]----------[] 
         \
          \       feature
           ---------[]
假设您在特性中基于的工作在master中发生了巨大的变化。当然,您将收到一个关于其中合并冲突的通知。Git绝对不会对代码的互操作性做出任何假设;它只检测潜在的冲突并向用户发出警告


如果您希望某个特定版本无论如何都能获胜,那么您可以强制进行合并并将其历史记录指定为胜利者。这是一个危险的操作,因此我恳请您并确保这是您所需要的。

git
印象深刻,因为它似乎内置了此功能

我正在研究两个分支之间的差异,并找出了如何手动执行此操作。e、 只需创建一个.diff补丁并应用它

git checkout B
git diff ..master path/file.scala > path/file.diff
git apply path/file.diff 
请注意,在最后一个命令中,沉默是金色的

所以我已经做好了准备,当我将开发环境(通过一个调用
git pull origin master
的脚本)唤醒到当前分支时,它发现并应用了更改。(正如预测的那样,在无法自动应用的情况下,会出现犹豫)


所以我猜答案是
git pull origin BRANCH
,至少在简单的情况下是这样

git给人留下了深刻的印象,因为它似乎内置了这种能力

我正在研究两个分支之间的差异,并找出了如何手动执行此操作。e、 只需创建一个.diff补丁并应用它

git checkout B
git diff ..master path/file.scala > path/file.diff
git apply path/file.diff 
请注意,在最后一个命令中,沉默是金色的

所以我已经做好了准备,当我将开发环境(通过一个调用
git pull origin master
的脚本)唤醒到当前分支时,它发现并应用了更改。(正如预测的那样,在无法自动应用的情况下,会出现犹豫)


所以我猜答案是
git pull origin BRANCH
,至少在简单的情况下是这样

所以让我直说吧。您有一个发布分支,您需要将您的工作建立在它的基础之上。然后,您希望对发布分支进行更改,并将这些更改向后移植到您先前创建的分支(该分支与发布分支的早期祖先无关)?正确-当我们合并分支时,我知道可能是大规模的-只是看看我们是否能够在那天到来之前,以文件为基础智能地消除一些合并的痛苦。所以让我直说吧。您有一个发布分支,您需要将您的工作建立在它的基础之上。然后,您希望对发布分支进行更改,并将这些更改向后移植到您先前创建的分支(该分支与发布分支的早期祖先无关)?正确-当我们合并分支时,我知道可能是大规模的-只是看看我们是否能够在那一天到来之前,以文件为基础智能地消除一些合并的痛苦。我以前做过合并,并且我很清楚更改相对于其大小的反比例影响:)这个问题是为了明确地看到fi在这种情况下,我会被一个等待客户批准的发布版本搁置在停滞期内,以文件为基础处理此问题的路径