这实际上是怎么产生的?
我现在正在自己的一个回购工作,所以这是我的工作流程:
然后,当我这样做时,git status它告诉我我的分支是由X提交提前(可能与我提交的提交数量相同).是因为当您推送代码时它实际上并不更新本地缓存的文件(在.git文件夹中)?git pull似乎'修复'这个奇怪的消息,但我仍然好奇它为什么会发生,也许我使用git错了?
包括在消息中打印的分支
我当地的分公司领先于大师
你在哪里推/拉当前分支
我正在推送GitHub并拉到我当时正在处理的任何一台计算机上,我的本地副本总是完全是最新的,因为我是唯一一个正在处理它的人.
它实际上并没有检查远程仓库
这就是我的想法,我想我会确保我对它的理解是正确的.
你传递一些额外的论据吗?
不是我能看到的,也许我的结尾有一些有趣的配置?
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud) 我是一个Git新手.我最近将一个Rails项目从Subversion移到了Git.我按照这里的教程:http://www.simplisticcomplexity.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/
我也在使用unfuddle.com来存储我的代码.我在火车上下班时使用Mac笔记本电脑进行更改,然后在使用以下命令进行网络连接时将它们推到一起:
git push unfuddle master
Run Code Online (Sandbox Code Playgroud)
我使用Capistrano进行部署,并使用master分支从unfuddle存储库中提取代码.
最近,当我在笔记本电脑上运行"git status"时,我注意到以下消息:
# On branch master
# Your branch is ahead of 'origin/master' by 11 commits.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么.我以为我的笔记本电脑是原产地...但不知道我最初是从Subversion拉出来还是推送到Unfuddle,这是导致消息显示的原因.我怎么能够:
我的mac正在运行Git版本1.6.0.1.
当我git remote show origin按照dbr的建议运行时,我得到以下内容:
~/Projects/GeekFor/geekfor 10:47 AM $ git remote show origin
fatal: '/Users/brian/Projects/GeekFor/gf/.git': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
当我git remote -v按照Aristotle Pagaltzis的建议跑步时,我得到以下信息:
~/Projects/GeekFor/geekfor 10:33 AM $ git …Run Code Online (Sandbox Code Playgroud) 我很惊讶,我在SO上找不到答案.
我们可以在git中恢复/恢复已删除的提交吗?
例如,这就是我所做的:
# Remove the last commit from my local branch
$ git reset --hard HEAD~1
# Force push the delete
$ git push --force
Run Code Online (Sandbox Code Playgroud)
现在,有没有办法找回被删除的提交?git是否在内部记录(记录)删除?
我试图在git中撤消我的提交.使用危险git reset --hard HEAD~1吗?
不同选项有git reset什么区别?
我刚添加remote A了我的另外repo B,然后运行git fetch A
如何撤消提取?如果我只是删除remote A:git remote remove A1它会撤消提取吗?
更新:
repo B
repo A
以上是我运行的命令,结果我将所有分支都提取到了我repo B但是我只需要一个特定的分支remote A,我需要它进入特定文件夹repo B但是这是另一个故事两个不同的git存储库之间的合并代码
我担心我已经知道了答案,但无论如何都在这里..我偶然点击了VS Code(OSX)中的"Discard All Changes",现在一个月的工作量已经消失.Poof'd.事实是,我没有正确设置GIT,所以我还没有做任何提交.无论如何我可以恢复工作吗?现在我的工作目录就像空的一样好..
[编辑]我应该澄清一下,控制台日志说它做了一个"git clean -f -q",这意味着文件已经消失了.但我想知道VSCode是否有备份或历史或缓存..或任何东西.我很绝望..
我在git中获取此信息
>git status
# On branch master
# Your branch is ahead of 'origin/master' by 3 commits.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
并且,当我尝试推动时,我得到了这个:
fatal: failed to write object
error: unpack failed: unpacker exited with error code
To ssh:<my repository>
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh:<my repository>'
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌上搜索一下,(例如这里有一个关于它的stackoverflow问题 - 'git pull origin mybranch'让本地mybranch N在原点之前提交.为什么?)并且一般的建议似乎是做拉然后一个推.但这对我不起作用 - 拉动告诉我,我是最新的.我也试过'git fetch origin'(没什么).我也尝试过:
> git remote …Run Code Online (Sandbox Code Playgroud) 我在(无分支)分支上做了一个提交,然后做了一个拉,意识到我在错误的分支上并做了一个'结账大师'和另一个拉.我现在找不到我的原始提交推送主分支,我无法切换到(无分支).有没有办法恢复我的提交或获得差异?