Ruby on rails 正确使用git-pull

Ruby on rails 正确使用git-pull,ruby-on-rails,git,Ruby On Rails,Git,我是git的新手,所以请容忍我。我在本地机器上有一个rails应用程序,我正在进行实验,并定期将其推送到主分支。它现在起作用了,但我落后了,现在我落后于大师很多 $ git branch * master $ git status On branch master Your branch is behind 'origin/master' by 27 commits, and can be fast-forwarded. (use "git pull" to update your lo

我是git的新手,所以请容忍我。我在本地机器上有一个rails应用程序,我正在进行实验,并定期将其推送到主分支。它现在起作用了,但我落后了,现在我落后于大师很多

$ git branch
* master


$ git status
On branch master
Your branch is behind 'origin/master' by 27 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
nothing to commit, working tree clean
然而,当我使用git pull并启动rails时,我的应用程序会因预编译器错误而中断。因此,在使用git-pull之前,我不得不使用git-reset返回到本地提交

解决此问题并与主分支上的最新更改合并的正确方法是什么?在这种情况下会使用git-rebase吗

试试看

git stash
git pull origin master

一旦更新,git stash将应用于重新应用您的本地更改,因为还没有人明确说明这一点:您可以问

解决此问题并与主分支上的最新更改合并的正确方法是什么

当您执行git pull时,它会将远程更改合并到当前分支中。对于其他问题,您是否会选择重新基础而不是合并是一个单独的问题,但默认行为是将本地和远程两组更改组合在一起

更准确地说,在默认情况下,git pull执行一个fetch,然后执行一个merge。确切的合并操作取决于配置和命令行选项,但在典型配置中,origin/master位于master的上游,如

将原始/母版合并到母版中

那么为什么会出现错误呢

一种可能性是存在合并冲突。如果发生这种情况,git会告诉你。如果您在这种情况下说git status,它将告诉您正在进行合并,并指示哪些路径文件需要冲突解决


另一种可能性是,这些更改不会冲突,因为它们不会影响同一文件的同一区域,但仍然不能正常协同工作。您只需调试即可。

我认为这27次提交中的一次破坏了应用程序。这些是从哪里来的?git pull-r将把这些更改放在本地应用程序之上。在预编译方面,您可以发布错误吗?通常这些都与资产中的语法错误有关。当我尝试此操作时,您可以查看一下,然后我得到5个合并冲突。您需要通过选择要保留的代码/文件的版本来解决冲突。还有一个问题:哇,这里有些可疑。在问题OP中显示了一个git状态,表示工作树是干净的,没有任何内容可提交-那么隐藏到底会做什么,最终会导致合并冲突?git隐藏只是我遵循的一种做法,首先放弃本地更改,然后从分支中提取最新的更改。在此之后,我将重新应用未提交的更改,以解决任何冲突,然后再准备将更改推送到同一分支
git pull