如何将远程仓库中的chang同步到工作区?

时间:2017-10-04 09:24:08

标签: git

场景 - >

  1. 我正在开发一个与master不同的分支,称为Different
  2. 我已经创建了一个拉取请求,以审核所有团队成员的Different分支。
  3. 其中一名成员在拉取请求中检查了某段代码并检查了更改。
  4. 问题1:我应该按顺序执行此操作,以便特定代码中所做的更改应反映在我的工作区和本地存储库中。

    1. 假设我忘了做问题1并根据其他团队成员的评论对我的工作区进行了一些更改,并根据评论更改了许多文件。

    2. 现在,当我在本地仓库中提交这些更改之后,我意识到我需要更改由其中一个审阅者更改的文件,如果我在不执行此过程的情况下执行此操作则将无法推送到远程回购,将发生重大冲突。

    3. 问题:2 如何在不合并的情况下处理第5点?

2 个答案:

答案 0 :(得分:0)

总的来说,我认为您不必担心具有待处理拉取请求的分支的行为与任何其他分支的行为有所不同。如您所见,仍然可以从Different分支拉动和推送。

如果您需要引入远程更改(即提交)而不进行合并提交,您可以尝试重新定义远程对应的Different分支。 ,即

git fetch origin
git checkout Different
git rebase origin/Different

使用这种方法,您可以将提交/修复放在当前远程分支的顶部(可能还有自己的修复提交)。您现在可以推送Different以使拉取请求保持最新状态。

答案 1 :(得分:0)

Q1:要在本地进行修改,您只需执行git pull(与执行git fetchgit merge相同)

Q2:如果您在本地提交了一些内容而没有获取远程更改,那么首先想法是相同的,但您需要使用rebase merge代替git pull --rebase(这将执行{ {1}}然后是git fetch

实际上在第二种情况下,你也可以进行合并但它会导致合并提交(远程分支到你的本地分支),这没有错,但往往会使历史更难以阅读和理解。