- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在分支上工作,将其命名为mybranch
。我不修改master
。
我想在origin/feature/mybranch
上推送更改,但是我有一些问题。奇怪的是我已经做过几次了,而且没有任何问题。
$ git branch
develop
* feature/mybranch
master
$ git push
To http://......
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'http://....'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. If you did not intend to push that branch, you may want to
hint: specify branches to push or set the 'push.default' configuration variable
hint: to 'simple', 'current' or 'upstream' to push only the current branch.
master
。
$ git checkout master
Switched to branch 'master'
Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
$ git pull
Updating 45c7319..f6b8e97
error: Your local changes to the following files would be overwritten by merge:
platform/....java
services/....java
...
Please, commit your changes or stash them before you can merge.
Aborting
$ git status
# On branch master
# Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: platform/....java
# modified: algorithms/....java
# ...
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# algorithms/.../
# and over 1100 files in bin folder. I don't know why gitignore doesn't work now.
$ git checkout -f
Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
master
中仍然有这些奇怪的变化...
最佳答案
第1部分:完成推送而无需担心master
(注意:实际上,它已经完成了。请参阅第1部分底部的注释。)
您正在运行的git push
没有其他参数。
如果您使用另外两个参数运行git push
,则它们将确切指定要推送到哪里。 git文档将它们称为<repository>
和<refspec>
。
在您的情况下,存储库始终为origin
(这是您克隆某些内容时git设置的通常标准)。因此,refspec
是更有趣的部分。
这是long1形式:
git push origin feature/mybranch:feature/mybranch
feature/mybranch
,告诉远程
origin
,它也应该在其一侧更新分支
feature/mybranch
。
:<same-name>
部分,则默认为使用冒号左侧的分支名称,因此:
git push origin feature/mybranch
<refspec>
时会发生什么?答案在
git push和
git config文档中,尽管在我的1.8.4.3文本版本中确实很难阅读,而且我上面链接的在线版本如果有的话,更糟糕::-)
remote.origin.push
或
push.default
,所以您得到的是“默认默认值”,称为
matching
,这意味着您的
git push
在隐喻的互联网电话上调用
origin
并说
master
和
feature/mybranch
。
master
应该是的,这也是我认为
feature/mybranch
应该是的。
master
退了几转!
! [rejected] master -> master (non-fast-forward)
的时候。
push
输出可用,则应该可以看到类似以下内容:
a430f6d..676699a feature/mybranch -> feature/mybranch
! [rejected] master -> master (non-fast-forward)
master -> master
的更改被拒绝,但
feature/mybranch -> feature/mybranch
的更改也被接受。您想推送的分支,您做到了!您刚刚收到了这个令人讨厌的错误消息,它伴随着成功(现在您想知道如何处理分支
master
)。
push
中明确
git push origin feature/mybranch
feature/mybranch
进行了一些更新”。您在
master
上落后的事实将是无关紧要的。您,您的Git和远程Git都不会出现在那里。
push.default
git config --global push.default simple
matching
经常会比帮助有用多烦人。新的“默认默认值”将为
simple
。 (有关这意味着什么的详细信息,请参见
the git config documentation。)
--global
版本将更改您的默认默认设置,但不会更改其他用户的默认默认设置。如果任何存储库(您自己的存储库或其他存储库)具有本地
push.default
设置,它将覆盖您的个人全局设置,而对于那些没有的存储库,您的全局设置就是git会使用的设置。您可以选择改为在每个存储库中设置本地设置,这会影响您以及使用您自己的存储库的其他任何人,但是您需要记住在所有存储库中进行设置)
refs/heads/
以使其更长。那只是为了炫耀。 :-)
remote.origin.push
和
push.default
的人可能已经知道所有这些内容。
master
为什么不更新?
.java
二进制文件提交给
master
分支,可能是由于没有正确的
.gitignore
造成的。
.gitignore
并提交了该文件,但实际上可能并没有全部对它们进行
git rm --cached
,因此仍在跟踪中。如果以前提交了现在被列为“忽略”的文件,则git“遵循该提交”而不是“ignore”指令,您会得到很多:
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: bin/b1
git add
的方式以及
.gitignore
中的内容,可以添加存储库中跟踪的文件(覆盖了ignore条目),并使它们“已暂存以提交”并提交它们。
master
落后两个版本,并且肯定包含一些二进制文件,并且您的
feature/mybranch
分支可能包含“错误”的
.gitignore
(它的某些变化形式),并且它也不会忽略二进制文件的“正确集合” 。
master
分支上签入的内容不匹配。这些将被“不安全地”破坏(至少,就git所知)。如果/当您执行
git checkout -f master
(或类似的操作)时,git毕竟会破坏它们,但是您仍然留下“未跟踪”的文件,这意味着
.gitignore
不好。
master
重新同步到
origin/master
了:
git checkout -f master
git fetch # resync with origin in case they've fixed more stuff
git reset --hard origin/master
.gitignore
文件并确保它们正确无误-您可能需要修复一些文件。然后,使用
git ls-files
和/或
git ls-tree
查看索引和存储库中的内容(
git ls-tree
要求您指定特定的树对象,例如
git ls-tree HEAD:bin
,以查看
bin
树中的内容(如果存在)。
bin
中的所有内容:
git rm --cached -r bin
--cached
说仅删除索引中的内容),或者您可以允许git删除二进制文件。一旦您拥有正确的东西“git rm” -ed并添加了任何更新的
.gitignore
文件,就用
git commit
进行更改:
$ cat bin/.gitignore
*
!.gitignore
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: bin/.gitignore
# deleted: bin/b1
# deleted: bin/b2
#
$ git commit -m 'remove binaries, ignore them in the future'
[master ac60888] remove binaries, ignore them in the future
3 files changed, 1 insertion(+)
create mode 100644 bin/.gitignore
delete mode 100644 bin/b1
delete mode 100644 bin/b2
.java
二进制文件,或者您不想这样做,但是还没有人修复任何
.gitignore
条目,等等;所以这就是为什么我对此不太确定的原因。)
关于git - 由于主服务器中的异常更改,无法推送分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444748/
我通过 spring ioc 编写了一些 Rest 应用程序。但我无法解决这个问题。这是我的异常(exception): org.springframework.beans.factory.BeanC
我对 TestNG、Spring 框架等完全陌生,我正在尝试使用注释 @Value通过 @Configuration 访问配置文件注释。 我在这里想要实现的目标是让控制台从配置文件中写出“hi”,通过
为此工作了几个小时。我完全被难住了。 这是 CS113 的实验室。 如果用户在程序(二进制计算器)结束时选择继续,我们需要使用 goto 语句来到达程序的顶部。 但是,我们还需要释放所有分配的内存。
我正在尝试使用 ffmpeg 库构建一个小的 C 程序。但是我什至无法使用 avformat_open_input() 打开音频文件设置检查错误代码的函数后,我得到以下输出: Error code:
使用 Spring Initializer 创建一个简单的 Spring boot。我只在可用选项下选择 DevTools。 创建项目后,无需对其进行任何更改,即可正常运行程序。 现在,当我尝试在项目
所以我只是在 Mac OS X 中通过 brew 安装了 qt。但是它无法链接它。当我尝试运行 brew link qt 或 brew link --overwrite qt 我得到以下信息: ton
我在提交和 pull 时遇到了问题:在提交的 IDE 中,我看到: warning not all local changes may be shown due to an error: unable
我跑 man gcc | grep "-L" 我明白了 Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more inf
我有一段代码,旨在接收任何 URL 并将其从网络上撕下来。到目前为止,它运行良好,直到有人给了它这个 URL: http://www.aspensurgical.com/static/images/a
在过去的 5 个小时里,我一直在尝试在我的服务器上设置 WireGuard,但在完成所有设置后,我无法 ping IP 或解析域。 下面是服务器配置 [Interface] Address = 10.
我正在尝试在 GitLab 中 fork 我的一个私有(private)项目,但是当我按下 fork 按钮时,我会收到以下信息: No available namespaces to fork the
我这里遇到了一些问题。我是 node.js 和 Rest API 的新手,但我正在尝试自学。我制作了 REST API,使用 MongoDB 与我的数据库进行通信,我使用 Postman 来测试我的路
下面的代码在控制台中给出以下消息: Uncaught DOMException: Failed to execute 'appendChild' on 'Node': The new child el
我正在尝试调用一个新端点来显示数据,我意识到在上一组有效的数据中,它在数据周围用一对额外的“[]”括号进行控制台,我认为这就是问题是,而新端点不会以我使用数据的方式产生它! 这是 NgFor 失败的原
我正在尝试将我的 Symfony2 应用程序部署到我的 Azure Web 应用程序,但遇到了一些麻烦。 推送到远程时,我在终端中收到以下消息 remote: Updating branch 'mas
Minikube已启动并正在运行,没有任何错误,但是我无法 curl IP。我在这里遵循:https://docs.traefik.io/user-guide/kubernetes/,似乎没有提到关闭
每当我尝试docker组成任何项目时,都会出现以下错误。 我尝试过有和没有sudo 我在这台机器上只有这个问题。我可以在Mac和Amazon WorkSpace上运行相同的容器。 (myslabs)
我正在尝试 pip install stanza 并收到此消息: ERROR: No matching distribution found for torch>=1.3.0 (from stanza
DNS 解析看起来不错,但我无法 ping 我的服务。可能是什么原因? 来自集群中的另一个 Pod: $ ping backend PING backend.default.svc.cluster.l
我正在使用Hibernate 4 + Spring MVC 4当我开始 Apache Tomcat Server 8我收到此错误: Error creating bean with name 'wel
我是一名优秀的程序员,十分优秀!