我有两个分支:-master 和-develop。
我正在尝试将分支合并develop到master分支中。
我已经检查了 Tower 和 Araxis 合并,这两个分支是相同的。但是当我在 Github 上执行拉取请求时,我看到有 381 个文件被更改,就像文件根本不在 master 上一样。
任何想法为什么这种行为?
更新:我附上了拉取请求的截图。
继这张图之后:
我的问题是:
希望这足够清楚。谢谢
我需要查看我正在使用的分支的历史记录。例如我有 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在git中可以这样做吗?如果是,那么如何?\n我尝试检查 git 日志,但它不是我要搜索的内容。
\n我不小心从项目中丢弃了 2 个未提交的文件。有什么方法可以撤消这些更改/恢复这些文件。我同时使用 IntelliJ 和 VS Code。也许是某种编辑器缓存或历史记录,我可以在其中查看上一小时左右的更改并复制这些?
我有一个简单的场景。我已经在本地提交了更改,现在我想将远程(在我前面的一个分支)中的内容合并到本地工作目录中。
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) /opt/lampp/htdocs/drupal-8.4.0$ git分支
我已经在系统中安装了drupal,我想切换到其他分支,但是使用git分支时却不显示其他分支!
我想知道,使用 git apply 应用 .patch 文件时会写入哪些文件。
有没有办法通过试运行在 git 中应用 .patch 文件?
假设我有一个master分支,其中包含一些提交,我希望保留这些提交以供以后的文档和参考,但是将它们从master删除(因为我希望master与上游回购处于相同状态)。
我现在的方法是
现在,我的问题是:
通常以以下方式显示分支,其中(据我所知)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不合并提交(C和D)的情况下使派生回到上游状态(commit )的正确方法?在本地,我可以在没有任何分支活动的情况下提交,即在签出提交但不是分支之后。是否可以将此不在任何分支中的提交推送到远程?
编辑:我只是想知道理论上 git 将如何处理推送“无分支”或只能使用分支推送。
协作者在 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)
因此,当我将拉取请求的基础从 更改为 时master,2.0.3它现在报告拉取请求包括提交 C、D、E 和 F,而不仅仅是 E 和 F。但是我不希望拉取请求中包含 C 和 D,所以我先合并master到2.0.3. 这给出了这个:
A---B---C---D ---<<< master
\ \ \
\ \ E---F <<< …Run Code Online (Sandbox Code Playgroud) git ×9
pull-request ×3
github ×2
git-apply ×1
git-branch ×1
git-history ×1
git-merge ×1
git-push ×1
git-reflog ×1
git-reset ×1
github-api ×1
merge ×1
patch ×1