【问题标题】:Git push and Pull/fetch/rebase frequency - best practicesGit push 和 Pull/fetch/rebase 频率 - 最佳实践
【发布时间】:2017-07-11 08:02:20
【问题描述】:

在将更改推送到远程存储库后,我在 git 上遇到了一些问题。我是唯一一个做开发的人,所以在推送我的提交后我没有做拉/取,因为我认为没有必要。

我在某处读到,您必须在推送到远程之后执行 git pull/fetch,以便您与远程同步,并且您的本地存储库不会告诉您 “您领先于 ORIGIN/ n 提交” 当我使用 git status 命令时。

我的印象是,当我推送时,我的更改已提交到远程仓库,并且无需拉到我的本地仓库,因为这是最新更改的主仓库。我不明白为什么我在运行 git status 时收到 “you are ahead of ORIGIN/ by n commits”消息。最重要的是,当我执行 git pull 以尝试在推送到远程后立即纠正问题时,git 向我显示我有合并问题,我需要在本地存储库中解决这些问题。

我可以通过 git reset 摆脱它,但不相信这是解决此问题的正确方法!

有人可以帮助我执行从推送到远程仓库开始需要执行的正确命令序列,这样我以后就不会遇到这些类型的问题。

这是我的第一次尝试: git push <to Remote Repo address> <to Remote Branch>

//假设您已经在工作目录中,其中一个是接下来要执行的正确命令:

git pull <from Remote Repo> 或 git fetch <from Remote Repo> 或 git pull --rebase

【问题讨论】:

  • 如果您已经在推送提交,那么为什么不分享您一直在运行的实际命令呢?如果你真的是这个分支的唯一贡献者,那么我不会预料到你会遇到错误。
  • @蒂姆。所以我使用该工具的 Git Gui 部分进行推送。不知道会不会引起打嗝?它与 'git push 相同。这是我的实际推送命令。
  • AFAIK 如果你推动你的工作然后拉动,什么都不会发生,你不应该得到任何错误。这里的人可能很难像这样远程调试您的设置。
  • @蒂姆。就像一个expt。我将 repo 重新克隆到另一个本地目录。
  • 您的 git pull 看起来有问题。我的猜测是您将错误的分支拉到本地分支中,因此合并冲突。使用git pull origin master

标签: git fetch rebase pull


【解决方案1】:

当我第一次克隆我的使用时

git clone <https://gitlab......git> 
cd <git cloned project directory> 
git branch -a
git checkout <branch name> 

检查我获取时会发生什么

git fetch --all

文件没有更改,也没有合并冲突! 然后当我做了一个

git pull <https://gitlab......git> 

或者如果我尝试做一个

git pull origin master

存在合并冲突。我的错误是在这一点上。

当我使用 git pull origin master 主仓库被拉入并与我的本地分支混合,并导致合并冲突。我尝试git pull --all 或git pull origin &lt;correct branch name&gt; 时没有问题,也没有合并冲突。

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 2011-09-11
    • 2011-03-22
    • 2020-08-24
    • 2017-06-30
    • 2010-09-26
    • 2017-12-25
    • 1970-01-01
    相关资源
    最近更新 更多