- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
上下文:
我们正在使用 gerrit,但我错过了为一些 gerrit 变更集添加主题。
有人建议执行git fetch origin "refs/notes/*:refs/notes/*"
,然后“编辑”审阅笔记并推迟结果。事实证明:我们的权限已设置好,以便我可以获取笔记,但不能推送它们。但是有权 push 此类更改的人修复了需要修复的条目,所以我对此方面没有意见。
出于好奇,我今天再次执行了 git fetch origin "refs/notes/*:refs/notes/*"
,然后我得到了
remote: Counting objects: 333792, done
...
Resolving deltas: 100% (103/103), completed with 44 local objects.
From ssh://whatever....
! [rejected] refs/notes/review -> refs/notes/review (non-fast-forward)
这就像我第一次获取“笔记”,我猜:我在本地确实不需要这些信息。
因此:
最佳答案
你可以:
refs/notes/review
完全引用;refs/notes/review
来自他们的refs/notes/review
以便始终拥有最新的内容。其中第一个实现了您的第一个 Gist 。为此,只需运行:
git update-ref -d refs/notes/review
最后一个实现了你的第二个 Gist 。要执行此操作一次,请运行:
git fetch origin +refs/notes/review:refs/notes/review
或者:
git fetch --force origin refs/notes/review:refs/notes/review
这是你第一次做的,除了设置了“force”标志,告诉你自己的 Git 从他们的 Git 更新你的,即使这会丢失你在本地所做的工作。
要在每个 git fetch origin
上执行此操作,您可以执行以下几项操作之一。我首选的方法是打开.git/config
在我的编辑器中( git config --edit
将执行此操作)。您会在这个配置文件中找到以下形式的一些行:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
(还会有一个 url
设置。)
这个fetch
这行告诉你的 Git:每次我连接到 origin
时,默认情况下,我希望你,我的 Git,拿走他们所有的 refs/heads/*
名称——所有分支名称——并使用它们强制更新我自己的 refs/remotes/origin/*
名称。 这就是远程跟踪名称的工作原理。
添加第二个 fetch =
行:
fetch = +refs/notes/review:refs/notes/review
告诉你的 Git:然后,更新了我的 refs/remotes/origin/*
来自他们的refs/heads/*
,还强制更新我的 refs/notes/review
来自他们的refs/notes/review
.
您可以拥有任意多个fetch
线条如你所愿。您可以使用它们来实现奇特的技巧,例如引入其他笔记并重命名它们。
关于git - 有没有办法记录 "unfetch"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63295976/
我是一名优秀的程序员,十分优秀!