在我将另一个分支合并到 master 后,master 分支没有显示所有文件

master branch not showing all the files after I merged another branch into master

所以,我将我的另一个分支 redux 合并到 master 中,并希望能够正常工作。但是看起来 master 分支中缺少一些文件。我刚刚这样做了:

来自 reduxgit checkout master git merge redux

它显示增加了 6092 次,删除了 755 次。我认为删除是删除了我在母版中看不到的文件。

在终端中,显示如下:

localhost@localhost:~/Desktop/myApp$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/redux

主控

localhost@localhost:~/Desktop/myApp$ git status
On branch master
Your branch is ahead of 'origin/master' by 27 commits.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

在 redux 上

localhost@localhost:~/Desktop/myApp$ git status
On branch redux
Your branch is up to date with 'origin/redux'.

nothing to commit, working tree clean

此外,在 github 上,当我切换到 redux 分支时,它显示。


我很困惑,我应该将 redux 合并到 master 中,但完全错了。

This branch is 28 commits ahead, 2 commits behind master.。这是什么意思?

我只想让 master 分支看起来和 redux 分支一模一样。我应该怎么办?我应该从 redux 创建一个新分支,对其进行处理,然后将其合并到 master 中吗?

基本上,当您创建分支时,两个分支都在同一提交上。

事实上,它说您的 redux 分支提前 28 次提交,落后 2 次提交 master,这意味着在创建之后有人在 master 上进行了 2 次新提交并推送了它们。 这 2 个提交仍然可以在你的 redux 分支上合并,或者如果你愿意,你可以在合并 redux 分支 intomaster 时处理它(可能会发生一些冲突)。

相同的逻辑适用于前面的 28 次提交:自 redux 分支创建以来,您推送了 28 次提交。

合并后您在 master 上看不到某些文件的原因是,这些文件已在 redux 分支上删除。

最后但同样重要的是,不要将您的本地存储库与来源混淆。

您在 github 上看到的是 origin/master,它可以在您本地的 master 分支之前或之后。

我建议您使用 git 中心上的 compare 按钮,以简单直观地了解分支差异。 这也可以通过命令行使用 git 来实现,但是当您还在学习时,GUI 可以提供很多帮助。

通过

将您的更改推送到您的来源

git push origin master

如果你的分支比 master 落后 X,那么跟随(有很多不同的方式):

git checkout master (you are switching to master branch)
git pull (integrates the latest version from the current (master) branch)
git checkout redux (switch back to your branch redux)
git merge master (conflicts could arise)

如果可以解决冲突,则只推送 redux 分支:

git push

那么两个分支的状态是一样的