小编Rom*_*eri的帖子

Github 拉取请求显示错误的差异

我有两个分支:-master 和-develop。

我正在尝试将分支合并developmaster分支中。

我已经检查了 Tower 和 Araxis 合并,这两个分支是相同的。但是当我在 Github 上执行拉取请求时,我看到有 381 个文件被更改,就像文件根本不在 master 上一样。

任何想法为什么这种行为?

更新:我附上了拉取请求的截图。

在此处输入图片说明

git github pull-request

11
推荐指数
4
解决办法
3979
查看次数

合并 master 中另一个分支的分支

工作流程

继这张图之后:

  • 我从 master 创建一个分支(分支 1)
  • 我推送了 3 次提交。
  • 我在 master 上创建了一个拉取请求。
  • 我没有等待分支 1 合并到 master 中,而是从分支 1 创建分支 2。
  • 我推送了 3 个提交,同时分支 1 已与拉取请求合并到 master 中。
  • 我为分支 2 创建了一个拉取请求。

我的问题是:

  • 在我的第二个拉取请求中,我将只有分支 2 的 3 次提交还是分支 1 和 2 的 6 次提交?事实上,鉴于分支 1 已合并到 master 中,其 3 个提交在分支 2 中不再是新的。
  • 对于分支 1 中更改的文件有同样的问题,即使分支 1 已合并到 master 中,它们是否会出现在分支 2 的拉取请求中?

希望这足够清楚。谢谢

git pull-request

11
推荐指数
1
解决办法
1302
查看次数

Git 获取我所在分支的历史记录

我需要查看我正在使用的分支的历史记录。例如我有 4 个分支:master、b-1、b-2、b-1-1。Th\xd0\xb5 分支“b-1-1”是分支“b-1”的子分支。首先我在 master 分支,然后在分支 b-1 ,然后在分支 b-1-1 ,然后在分支 b-2 ,然后再次在 b-1-1 。我使用的分支的历史如下所示:

\n
    \n
  • b-1-1
  • \n
  • b-2
  • \n
  • b-1-1
  • \n
  • b-1
  • \n
  • 掌握
  • \n
\n

在git中可以这样做吗?如果是,那么如何?\n我尝试检查 git 日志,但它不是我要搜索的内容。

\n

git git-branch git-reflog git-history

10
推荐指数
3
解决办法
6790
查看次数

如何撤消最后丢弃的 2 个未提交文件?

我不小心从项目中丢弃了 2 个未提交的文件。有什么方法可以撤消这些更改/恢复这些文件。我同时使用 IntelliJ 和 VS Code。也许是某种编辑器缓存或历史记录,我可以在其中查看上一小时左右的更改并复制这些?

intellij-idea visual-studio-code

9
推荐指数
1
解决办法
4309
查看次数

Git拉取覆盖并且不合并或确认同一分支(主节点)上的冲突

背景:

我有一个简单的场景。我已经在本地提交了更改,现在我想将远程(在我前面的一个分支)中的内容合并到本地工作目录中。

git branch -vv --list --all 给出以下内容:

  master                79d9d4e [origin/master: behind 7] Footprint UI working
  remotes/origin/HEAD   -> origin/master
  remotes/origin/master a86a1a9 Added sample data to webpage
Run Code Online (Sandbox Code Playgroud)

我特别想合并一个文件。这是差异: git diff --stat a86a1a9 79d9d4e views/footprint.handlebars

views/footprint.handlebars | 65 +++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 33 insertions(+), 32 deletions(-)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时git pull,本地提交中的文件版本将被远程版本覆盖。更详细地说:

$ git fetch -v origin  

From github.com:githubusername/foo
 = [up to date]      master     -> origin/master
Run Code Online (Sandbox Code Playgroud)
$ git merge origin  
Updating 79d9d4e..a86a1a9
Fast-forward
...
 views/footprint.handlebars    | 65 ++++++++++++++++++++++++++++++++---------------------------------
...
 6 files changed, 220 insertions(+), …
Run Code Online (Sandbox Code Playgroud)

git version-control merge git-merge git-merge-conflict

8
推荐指数
1
解决办法
462
查看次数

git branch没有显示所有分支

/opt/lampp/htdocs/drupal-8.4.0$ git分支

我已经在系统中安装了drupal,我想切换到其他分支,但是使用git分支时却不显示其他分支!

git

7
推荐指数
8
解决办法
1万
查看次数

你能让 git apply 进行一次演练吗?

我想知道,使用 git apply 应用 .patch 文件时会写入哪些文件。

有没有办法通过试运行在 git 中应用 .patch 文件?

git patch git-apply

7
推荐指数
1
解决办法
4716
查看次数

Git:主复位后分支会发生什么

假设我有一个master分支,其中包含一些提交,我希望保留这些提交以供以后的文档和参考,但是将它们从master删除(因为我希望master与上游回购处于相同状态)。

我现在的方法是

  1. 从当前主状态创建一个新分支
  2. 重设(--hard)主机到上游仓库中的状态

现在,我的问题是:

  • 从主服务器删除引用提交后,新分支会发生什么?
  • 还是在理解如何引用分支方面我完全错了。

通常以以下方式显示分支,其中(据我所知)D是新分支的基础。

A - B - C - D    (master)
             \
                 (new branch)
Run Code Online (Sandbox Code Playgroud)

分支是自动“重新设置基础”的,还是您将如何称呼它?然后看起来像这样吗?

A - B         (master)
     \
      C - D   (new branch)
Run Code Online (Sandbox Code Playgroud)

最后也是最普遍的问题:

  • 我将状态保留在新分支和reset --hard主分支中的方法是否正确实现了我的目标,即在B不合并提交(CD)的情况下使派生回到上游状态(commit )的正确方法?

git git-reset

6
推荐指数
2
解决办法
75
查看次数

是否可以推送不在 git 任何分支中的提交?

在本地,我可以在没有任何分支活动的情况下提交,即在签出提交但不是分支之后。是否可以将此不在任何分支中的提交推送到远程?

编辑:我只是想知道理论上 git 将如何处理推送“无分支”或只能使用分支推送。

git git-push

6
推荐指数
1
解决办法
478
查看次数

当更改 Github 上的拉取请求的基础分支时,哪些提交将被删除?

协作者在 Github 存储库上创建了基于master分支的拉取请求。我想将其合并到我当前正在处理的下一个发布分支 ( 2.0.3) 而不是master分支。正如几个答案所指出的,我可以通过单击拉取请求标题旁边的“编辑”,然后更改基本分支来完成此操作。

但是,当我这样做时,我收到一条警告“旧基础分支的一些提交可能会从时间线中删除”。Github帮助页面还指出,“当您更改拉取请求的基本分支时,某些提交可能会从时间线中删除。”

谁能解释一下这个警告指的是哪个提交,以及它们何时可以被删除?这些提交是在master分支、拉取请求还是新的基础分支 ( 2.0.3) 中?“从时间线中删除”是指 Github 上拉取请求的讨论页面,还是意味着从存储库中删除提交?

更新

正如 @RomainValeri 指出的,此过程不会从存储库中添加或删除任何提交,它只是更改拉取请求中显示的提交,因为其中一些可能不再位于分支的基础和提示之间。然而,尖端仍将与以前相同的最终状态。

就我而言,拉取请求 ( feature) 在我的请求之后分支出来master,如下所示:

A---B---C---D <<< master
     \       \
      \       E---F <<< feature (pull request)
       \
        G---H <<< 2.0.3
Run Code Online (Sandbox Code Playgroud)

因此,当我将拉取请求的基础从 更改为 时master2.0.3它现在报告拉取请求包括提交 C、D、E 和 F,而不仅仅是 E 和 F。但是我不希望拉取请求中包含 C 和 D,所以我先合并master2.0.3. 这给出了这个:

A---B---C---D ---<<< master
     \       \    \
      \       \    E---F <<< …
Run Code Online (Sandbox Code Playgroud)

git github github-api pull-request

6
推荐指数
1
解决办法
3305
查看次数