- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,我了解与推送到非裸 git 远程服务器相关的如何,包括使用 git 配置选项 receive.denyCurrentBranch
和其他变通方法,所以我不在此处寻找答案:
这更像是一个 git 实现/表示/哲学问题。
为什么不能 git push <remote>
到非裸 Remote 是双重的或与 git fetch <source>
基本相同从远程?这样,我在 Remote 上的本地工作目录可能已经过时(落后于)新内容,我什至可能有本地更改(提前提交,甚至暂存/未暂存/暂存/等等),但该工作目录完全未被推送操作触及?如果是这样,那么一旦在远程,我就可以 merge 或 rebase 或任何必要的。事实上,这正是 this kernel.org git faq entry 所声称的。 .
这样做的动机实际上与其他提出如何问题的人相同:由于{firewall,我没有任何方法可以轻松地从远程访问推送的“源” , nat, security} 原因。
可能我缺少一些关于 git 如何真正跟踪事物的基本知识,“如果我只理解 XXXX”,我就会知道答案;请赐教。
最佳答案
问题是推送会重写引用。 HEAD
是最新 checkout 的同义词,重写 ref 会悄悄地使工作树和索引无效——该 repo 中的提交将丢失推送的更改,没有迹象表明发生了这种情况。拒绝推送是最简单的解决方案。如果在目的地执行 git pull
不是一个选项,那么推送到一次性并修复引用:
git push origin master:fakemaster
cd $origindir
git checkout -B master fakemaster
git branch -D fakemaster
关于git - 为什么非裸远程的 `git push` 不是远程的 `git fetch` 的对偶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31233581/
我在 CentOS 机器的 MariaDB 上成功运行了这个命令: MariaDB> select * from foobar into outfile '/tmp/schrodinger_cat.c
我是一名优秀的程序员,十分优秀!