相关疑难解决方法(0)

'git pull'和'git fetch'有什么区别?

主持人注意:鉴于此问题已经发布了67个答案(其中一些已删除),请考虑在发布另一个问题之前是否提供任何新内容.

git pull和之间有什么区别git fetch

git version-control git-pull git-fetch

1万
推荐指数
41
解决办法
269万
查看次数

你的分支在3次提交之前领先于'origin/master'

跑步时我得到以下内容 git status

Your branch is ahead of 'origin/master' by 3 commits.
Run Code Online (Sandbox Code Playgroud)

我已经阅读了其他一些帖子,修复此问题的方法是运行,git pull --rebase但究竟什么是rebase,我会丢失数据还是这种与master同步的简单方法?

git git-rebase

306
推荐指数
9
解决办法
33万
查看次数

如何在Git中恢复丢失的提交?

首先,通过3次提交得到"你的分支在原点/主人之前",然后我的应用程序恢复到早期更改的早期时间.

我怎样才能得到过去11个小时里所做的事情?

git

218
推荐指数
7
解决办法
10万
查看次数

当我需要*pull*origin master时,为什么它会说"你的分支在857提交之前领先于原点/主人"

首先,我知道一些措辞相似的问题,例如:

其中没有一个(AFAICT)的答案与我的问题版本相符.

我的情况是:

$ git status
# On branch stable
nothing to commit (working directory clean)
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 857 commits.
Run Code Online (Sandbox Code Playgroud)

在现有的问题中,接受和赞成的答案大多同意它意味着字面上的意思......我领先,我需要我的新提交送到origin/master.

我知道实际情况恰恰相反,我的本地master分支是在远程origin/master控制器后面,实际上我需要git pull origin master在本地做一些工作之前.(或者可能只是git fetch origin?)

我的问题是......是否有一些理由说明这些信息的措辞Your branch is ahead of 'origin/master' by 857 commits.是否真的有意义?

因为我现在理解它的方式与消息所说的相反('我的分支' 原点/主人之后).

或者它的确意味着:"远程主分支的HEAD领先于您的本地原点/主跟踪分支"?

更新 FWIW我在一个由六个其他开发人员组成的团队中工作.我们每天都会多次拉,提,推等等没有问题.我这里没有错误...我只是想了解为什么Git用这种方式说出它的信息 - 措辞本身是否被错误选择,或者是否有一些Git的基本概念导致他们这样说出来而且我不理解.


这里有更多信息 …

git

23
推荐指数
2
解决办法
2万
查看次数

pull-only repo的'git status'表示分支领先于origin/master.为什么?

所以情况如下:

$ git status #On
branch master
#你的分支在[x]提交之前位于'origin/master'之前.
#

关于SO的问题已有几个问题,但似乎没有一个问题专门针对我所拥有的场景类型.其中一个问题的答案最接近,但没有详细说明.

我会直接引用它:

如果在执行"git pull remote branch"后收到此消息,请尝试使用"git fetch"进行跟进.

Fetch似乎更新了远程分支的本地表示,当你执行"git pull remote branch"时不一定会发生这种情况.

这个提示确实有效.但"不一定会发生吗?" 为什么不?我需要了解这一点.什么拉不做?

我不想接管这个问题,所以这是我的详细情景:

涉及三台电脑.我开发的Mac,git repo(即origin/master)所在的家庭服务器以及从该服务器获取的Webfaction帐户.

我提交并且git push origin master仅在Mac上提交.作为正常工作流程的一部分,在Webfaction上运行的唯一命令是git pull origin master(作为Fabric部署脚本的一部分).我不修改那里的代码.我是一个独立的开发者,所以其他任何人都没有.

我偶尔会登录Webfaction并检查一些事情,包括a git status.不可避免地,我总是得到"你的分支在前面......"的信息.跑步git fetch使消息消失.

我将要添加git fetch到Fabric脚本来完成这个问题,但我想知道为什么需要这样做,特别是在源/主的只拉式克隆上.虽然我每天都使用基本功能,但我并不熟悉Git,所以我们将非常感谢新手友好的解释.

按要求更新,相关位来自config:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@[server_address]:[path/to/repo.git]
[branch "master"]
    remote = origin
    merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

git branch git-pull git-push git-fetch

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

嵌套的GIT Repository错误方法将其删除?

我刚刚意识到我错误地从子目录运行了'git init'命令,然后在我项目的根目录下创建了一个主仓库.

这是一个错误,所以我运行'rm -fr'

嵌套目录'.git'上的命令(删除)不在项目的根目录中 - 认为这可以解决我的问题(我有多错)

现在的问题是,当我将项目推送到GitHub时,嵌套文件夹会变灰,就像它被忽略一样.

有没有办法撤消我所做的事情?或者我只需要重新开始?我是新手,并且正在尝试完成一个示例应用程序教程,但我看似破坏的目录对于生产环境中的部署至关重要.

git github

3
推荐指数
1
解决办法
4426
查看次数