- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我是一个使用git的新手,我读了一些有关此错误的StackOverflow问答,但不明白我的问题与具有相同错误消息的其他人之间的关系。因此,我不敢碰巧,花了6个小时的工作来推进远程GitHub存储库。
。
1.)起始
因此,我在本地工作目录中的代码损坏了,我无法弄清楚问题出在哪里。所以我希望git返回项目的最新工作版本。然后,我找到了本教程,并设法使我的本地项目返回到工作版本。
https://www.git-tower.com/learn/git/faq/restore-repo-to-previous-revision
$ git reset --hard <SHA-1 HASH NUMBERS>
# Pushing Changes - Staging
$ git diff
$ git status
$ git add -A
$ git status
$ git commit -m "Modified multiply function."
# Pushing Changes - Repository
$ git pull origin master
$ git push origin master
penguin@linux$ git push origin master
To git@github.com:<name>/<project>.git
! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:<name>/<project>.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
最佳答案
让我们解决这个较长的注释(我应该在另一条注释中进行此操作,但这根本不适合,因此我要回答一个不同的问题,即“分离和重新连接HEAD的工作原理”):
Tnx torek I managed to force away that error with the link you provided. I also had some detached HEAD issues which I got rid by following Razan Paul's post here Fix a Git detached head? But all my changes while in detached HEAD mode was lost after the fixes. I have copies so I can just recreate them manually I guess. So in the future when I want to go back to the latest working version on my local working directory. What procedure will suite my situation best? I see so many different suggestions I don't know what's best for me
@<name>
语法,以便使他们收到警报)。
git reflog
查找哈希ID。如果您使用
git reset --hard
使Git“忘记”分支(而不是分离的HEAD)上的提交,则Git还将这些ID至少保留30天,保留在分支名称的reflog上。每个分支名称都有一个reflog,而
HEAD
本身有一个。
git status
会说的那样,在某个特定分支上:
$ git status
On branch master
...
master
是Git实际如何标识您现在已 checkout 的提交的方式。并且名称
HEAD
只是附加到名称
master
。
5be1f00a9a701532232f57958efab4be8c959a29
-但这有点不可靠,因此您可能只想在单个小图形中使用单个字母:
A <-B <-C <--master
A
,然后制作
B
,然后制作
C
。 (当我们到达第27次提交时,我们将失去所有提交的名称,因此您可以看到Git为什么使用更长的哈希ID的原因。)
master
标识而不是commit
A
,而是commit
C
。我们说名称
master
指向
C
。
C
在其内部具有第二次提交即commit
B
的名称(哈希ID)。我们说
C
的父提交是
B
。因此,将
C
指向
B
即可。同样,
B
内部具有提交
A
的哈希ID,因此
B
指向
A
。
A
是第一次提交。它不能指向上一次提交,所以事实并非如此。这使提交
A
变得特别:这是一个根提交。每个非空存储库至少有一个,这是有史以来的第一次提交。
git log
时,Git将以您当前的提交开始-在此处提交
C
,然后向后工作:它向您显示
C
,然后由于
C
指向
B
,因此Git也将显示
B
。由于
B
指向
A
,因此Git也显示
A
;但是
A
是根提交,因此Git可以停止。
master
,因此让我们重新提交
D
。我们将对源
git add
文件进行任何操作,然后运行
git commit
创建
D
。
D
指向哪里?好吧,显然它必须指向
C
。因此,Git使
D
具有
C
的父提交:
A <-B <-C <-D
master
,使其拥有commit
D
的哈希ID,为我们提供了这张图片:
A <-B <-C <-D <--master
D
指向
C
,永远不会指向其他地方。唯一更改的箭头是分支名称中出现的箭头!因此,我倾向于在不使用内部箭头的情况下绘制它们,以节省空间并使其更合适:
A--B--C--D <-- master
HEAD
通常仅标识一个分支名称
C
的分支来使上述存储库复杂化:
A--B--C--D <-- master
\
E <-- develop
develop
标识提交
E
,其父级为
C
。如果现在运行:
git checkout master
on branch master
,就像
git status
会说的那样;如果我们现在创建一个新的提交
F
,其父代将是
D
。如果我们改为
git checkout develop
并创建一个新的提交
F
,则其父代将改为
E
。所以Git需要知道:我们在哪个分支上?这是我们需要绘制名称
HEAD
的地方:
A--B--C--D <-- master (HEAD)
\
E <-- develop
A--B--C--D <-- master
\
E <-- develop (HEAD)
HEAD
时,会将其附加到分支名称。当您进行新的提交时,Git将更改分支名称,以使其指向您刚刚进行的新提交。
detached HEAD
模式,通常是因为您直接 checkout 了较早的提交。例如,让我们检查commit
B
,同时保留所有内容:
A--B <-- HEAD
\
C--D <-- master
\
E <-- develop
HEAD
,但是现在
HEAD
指向直接提交
B
。
F
,它的父节点将是
B
,而Git将
HEAD
直接指向
F
:
A--B--F <-- HEAD
\
C--D <-- master
\
E <-- develop
HEAD
指向的提交(如果是分离的,则是直接的;如果附加到分支名称,则是间接的)也将改变!新提交的父节点始终是刚才的
HEAD
,现在
HEAD
是新提交,这又是当前提交。
HEAD
,我们就会“丢失”提交F的ID:
A--B--F <-- ???
\
C--D <-- master (HEAD)
\
E <-- develop
F
的ID?答案是:只有引用。
F
,则应该在您的引用日志中找到它的ID并为其附加一个名称-分支或标记名称,通常是:
A--B--F <-- newbranch
\
C--D <-- master (HEAD)
\
E <-- develop
newbranch
会记住
F
的ID。如果您有两个提交,
F
和
G
,而您有一个分离的HEAD,则必须以某种方式找到后面的一个,并确保您的名称指向
G
,这样您就可以:
G <-- newbranch
/
A--B--F
\
C--D <-- master (HEAD)
\
E <-- develop
G <-- ???
/
A--B--F <-- newbranch
\
C--D <-- master (HEAD)
\
E <-- develop
关于linux - 错误: failed to push some refs to 'git@github.com:<name>/<project>.git' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48848732/
我的团队正在使用 gerrit 代码审查,本质上这意味着默认的推送行为会绕过标准工作流程,因此我们需要使用 git push origin HEAD:refs/for/feature 来正确推送我们的
我是 assembly 新手,我正在使用 MASM。我看到这些代码行,想知道这之间有什么区别 a) push myVar b) push [myVar] c) push OFFSET myVar 我怎
美好的一天! 将镜像推送到docker hub时遇到一些问题。我的第一个软件版本: vagrant@debian-8-docker:~$ docker version Client version:
我有三个 Controller 一二三 .首先是navigationController的rootViewController。 在 SecondViewController ,我有一个名为 的协议(
我在这个 Google 教程的帮助下实现了一个 Web Push API: https://developers.google.com/web/fundamentals/getting-started
我有两个模式: var optionsSchema = new Schema({ locationname: String, locationnumber : String
我是 git 的新手并对其进行了测试。我已经能够克隆 friend 存储库进行小的本地更改并提交。 我现在想测试将我的本地更改推送到远程存储库,但不幸的是当我尝试进行推送时 $ git push <
我们正在公司讨论 git rebase 之后该做什么。在rebase之后,您需要将更改推送到远程origin,但是当git不允许时我们应该怎么做呢?实际上,我们正在讨论当分支已经被推送时我们最常用的两
我正在使用具有嵌入式 github 支持的新 IDE。在命令行本地,我可以成功地使用 git push orgin master 并更新 github。但是我的 IDE 使用带有 -v 标志的命令,这
我仍在阅读有关 RoR 的一些指南,我被困在 Deploying The Demo App 上 我遵循了说明: With the completion of the Microposts resour
我正在尝试创建一个可以将我的 git 存储库镜像到另一个存储库的脚本。一切正常,但它一直在说 [remote rejected] refs/pull/xx/head -> refs/pull/xx/h
我想了解使用 Tortoise SVN 构建过程的一些过程。主要是 我想知道你是否插入: 主线中继 QA 后的一个分支将其抓取到本地的工作副本中并测试该分支,然后一些构建推送该分支 我遇到的问题是我在
在谈论将消息推送到移动应用程序以触发 WAP 内容的下载时,似乎都使用了 WAP 推送和 SMS 推送这两个术语。 这些术语是指相同的机制还是具有不同的含义? 最佳答案 SMS Push 是告诉终端发
我只是想知道是否有人使用这种技术: 由于推送通知仅随 OS 3.0 一起提供,因此我一直在考虑使用电子邮件推送(Exchange、mobile.me)作为解决方法: 您可以注册一个 URL,例如。 m
我正在 build WP website using DIVI theme .应该被插入 dataLayer 的标签被默认的“未设置”值卡在某个地方。 为了推送我使用脚本的值: functi
我最近删除了xcode 6 beta 3并安装了xcode 6 beta 6 当我在终端输入gitpush时,这发生了 xcrun:错误: Activity 的开发人员路径(“/Application
我即将实现ionic-native Push Notifications .这可以在浏览器中运行吗?还是我需要安装 iOS/Android 模拟器? 最佳答案 除非您使用 Phonegap 推送服务器
Safari 12.1 是否支持服务 worker PWA 推送通知?我试过这个 demo在 iOS 上,但它仍然不适合我。 有机会得到它们吗?谢谢。 最佳答案 目前没有关于此功能的通信...Appl
目前我有很多 chrome 浏览器的推送订阅都是这样的方法, swr.pushManager.subscribe({userVisibleOnly: true}) .then(function
我需要 4 个过渡效果,但我只知道 2 个过渡效果,还有 2 个我不知道。我知道的 2 个过渡动画是: 过渡时下推: 并向下推过渡: 但
我是一名优秀的程序员,十分优秀!